我的任务是将来自两个不同来源的数据合并到一个JSON中,供Web服务使用。我决定使用烧瓶,我发现它很容易使用。 无论如何,我正在检索看起来像这样的JSON(通过urlib2)....
[
[{
"timestamp": 1474088400000,
"errors": 1018831,
"errorTotal": 72400021,
"errorTotal2": 0.013022892930509898,
"business": 4814994,
"breakdown": [{
"type": "type1",
"count": 603437
}, {
"type": "type2",
"count": 256187
}]
}]
]
我要做的就是在“细分”下添加一个新的密钥对,特别是“type3”,所以JSON对象看起来像这样......
[
[{
"timestamp": 1474088400000,
"errors": 1018831,
"errorTotal": 72400021,
"errorTotal2": 0.013022892930509898,
"business": 4814994,
"breakdown": [{
"type": "type1",
"count": 603437
}, {
"type": "type2",
"count": 256187
}, {
"type": "type3",
"count": 4533
}]
}]
]
我认为将其视为列表中的密钥对将是可行的方法,但它似乎并不起作用。谁能指出我正确的方向? 非常感谢提前!
答案 0 :(得分:0)
首先,您应该将json读入Python对象:
str_replace
然后到达要修改的对象。数据看起来像data = json.loads(jsonstring)
,因此它是字典列表的列表。我猜你想要所有这些:
[ [ {... 'breakdown': ...} ] ]
然后将其转换回json:
for d in data:
for dd in d:
d['breakdown'].append({"type": "type3", "count": 4533})
答案 1 :(得分:0)
加载json
字符串
json_data = json.loads(json_string)
迭代对象,append
到"breakdown"
键
for item in json_data:
for json_dict in item:
json_dict["breakdown"].append({"type": "type3", "count": 4533})
将其转换回JSON
字符串
json_string = json.dumps(json_data)