Py学习  »  Python

Python:如何向Json数组中的每个对象添加新的键值?

youhoome • 3 年前 • 1327 次点击  

如何向JSON数组中的每个对象添加一个新的键值对,如下所示?我尝试使用下面的代码,但结果是分开的,而不是在同一个原始数组中。

import json

json_var = '''{
"information" : {
  "info_id"          : "8878",
  "info_name"        : "Stackoverflow"
},

"env" : {
  "env_name"           : "UAT",
  "env_type"           : "Staging"
},

"services" : [
  {
    "service_name"         : "stack1",
    "service_version"     : "1"
  },
  {
    "service_name"         : "stack2",
    "service_version"     : "2"
  },  
  {
    "service_name"         : "stack3",
    "service_version"     : "3"
  }
 ]
}'''

y = {"pin":110096}
entry = json.loads(json_var)

for i in entry['services']:
      i.update(y)
      print(json.dumps(i))

实际产量:

{"service_name": "stack1", "service_version": "1", "pin": 110096}
{"service_name": "stack2", "service_version": "2", "pin": 110096}
{"service_name": "stack3", "service_version": "3", "pin": 110096}

预期产出:

[
{"service_name": "stack1", 
  "service_version": "1", 
  "pin": 110096
},
{"service_name": "stack2",
 "service_version": "2",
 "pin": 110096
},
{"service_name": "stack3",
 "service_version": "3",
 "pin": 110096
}
]

请告知如何修改上述代码或提供新代码以实现预期输出。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129001
 
1327 次点击  
文章 [ 1 ]  |  最新文章 3 年前