Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AWS的Python脚本更新JSON对象_Python_Json_Amazon Web Services - Fatal编程技术网

使用AWS的Python脚本更新JSON对象

使用AWS的Python脚本更新JSON对象,python,json,amazon-web-services,Python,Json,Amazon Web Services,为了使用AWS的CLI,我需要更新一堆JSON对象。 下面是JSON格式的一个示例。我需要用不同的值更新lbtest、lbtest cookie pol和80 { "LoadBalancerName": "lbtest", "PolicyName": "lbtest-cookie-pol", "CookieExpirationPeriod":80 } 在某些情况下,每个负载平衡器名称都有多个值。 输出需要如下所示: { "LoadBalancerName"

为了使用AWS的CLI,我需要更新一堆JSON对象。 下面是JSON格式的一个示例。我需要用不同的值更新lbtest、lbtest cookie pol和80

{
    "LoadBalancerName": "lbtest", 
    "PolicyName": "lbtest-cookie-pol", 
    "CookieExpirationPeriod":80 
}
在某些情况下,每个负载平衡器名称都有多个值。 输出需要如下所示:

{
    "LoadBalancerName": "lbtest", 
    "PolicyName": "lbtest-cookie-pol", 
    "CookieExpirationPeriod":80 
}
{
    "LoadBalancerName": "lbtest", 
    "PolicyName": "lbtest-cookie-pol2", 
    "CookieExpirationPeriod":8080. 
}

假设我有一个包含所有这些条目的CSV文件,我可以编写什么样的python脚本来循环这些条目并打印JSON输出?我遇到的问题是打印嵌套的JSON对象<代码>打印似乎不喜欢我的多行或大括号。这里是新手,所以我非常感谢任何类型的解决方案。

您可以使用json.dumps方法,其选项见:
例如,通过使用缩进选项,您可以在python 2.7上看到:

>>> dictionary = {
    "LoadBalancerName": "lbtest", 
    "PolicyName": "lbtest-cookie-pol", 
    "CookieExpirationPeriod":80 } #a dictionary object made from csv
>>> print dictionary
{'PolicyName': 'lbtest-cookie-pol', 'CookieExpirationPeriod': 80, 'LoadBalancerName': 'lbtest'}
>>> import json
>>> jobj = json.dumps(dictionary,indent=4, separators=(',', ': '))
>>> print jobj
{
    "PolicyName": "lbtest-cookie-pol",
    "CookieExpirationPeriod": 80,
    "LoadBalancerName": "lbtest"
}
>>> f = open(r'jtest.txt','w') #save our json object to file
>>> json.dump(dictionary,fp,indent =4 , seperators = (',',': '))
>>> f.close()
>>> f = open(r'jtest.txt!','r') #read our object from file
>>> test = json.load(f)
>>> test
{u'PolicyName': u'lbtest-cookie-pol', u'CookieExpirationPeriod': 80, u'LoadBalancerName': u'lbtest'}
>>> dict(test)
{u'PolicyName': u'lbtest-cookie-pol', u'CookieExpirationPeriod': 80, u'LoadBalancerName': u'lbtest'}
以下是我们的文件的外观:

您可以使用json.dumps方法及其在中提到的选项:
例如,通过使用缩进选项,您可以在python 2.7上看到:

>>> dictionary = {
    "LoadBalancerName": "lbtest", 
    "PolicyName": "lbtest-cookie-pol", 
    "CookieExpirationPeriod":80 } #a dictionary object made from csv
>>> print dictionary
{'PolicyName': 'lbtest-cookie-pol', 'CookieExpirationPeriod': 80, 'LoadBalancerName': 'lbtest'}
>>> import json
>>> jobj = json.dumps(dictionary,indent=4, separators=(',', ': '))
>>> print jobj
{
    "PolicyName": "lbtest-cookie-pol",
    "CookieExpirationPeriod": 80,
    "LoadBalancerName": "lbtest"
}
>>> f = open(r'jtest.txt','w') #save our json object to file
>>> json.dump(dictionary,fp,indent =4 , seperators = (',',': '))
>>> f.close()
>>> f = open(r'jtest.txt!','r') #read our object from file
>>> test = json.load(f)
>>> test
{u'PolicyName': u'lbtest-cookie-pol', u'CookieExpirationPeriod': 80, u'LoadBalancerName': u'lbtest'}
>>> dict(test)
{u'PolicyName': u'lbtest-cookie-pol', u'CookieExpirationPeriod': 80, u'LoadBalancerName': u'lbtest'}
以下是我们的文件的外观:

可能使用json.dumps per。使用ctrl+f“漂亮打印”可能使用json.dumps per。使用ctrl+f“漂亮打印”有没有办法在打印json.dumps后保留json格式?输入需要保持不变。@Bleubox111:我编辑了代码,并添加了txt文件图片以查看!可以吗?打印json.dumps后有没有办法保留json格式?输入需要保持不变。@Bleubox111:我编辑了代码,并添加了txt文件图片以查看!可以吗?