使用AWS的Python脚本更新JSON对象
为了使用AWS的CLI,我需要更新一堆JSON对象。 下面是JSON格式的一个示例。我需要用不同的值更新lbtest、lbtest cookie pol和80使用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"
{
"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文件图片以查看!可以吗?