我有两个json对象,我想弄清楚如何在python中合并它们
y={"success":"true"}
x={"0":"740","1":"747","2":"883","3":"750","4":"769"}
我需要以下列方式获得最终结果
{"success":"true",
"data":{
"0":"740",
"1":"747",
"2":"883",
"3":"750",
"4":"769"
}
}
我试图追加它,但它显示出一些错误。帮我解决python中的代码。
答案 0 :(得分:2)
您的输入似乎是字符串而不是字典。你需要使用json.loads
将它们转换为dicts:
import json
y = '{"success":"true"}'
x = '{"0":"740","1":"747","2":"883","3":"750","4":"769"}'
res = json.loads(y)
res['data'] = json.loads(x)
print(res)
如果您需要再次输出字符串,请使用json.dumps
:
res_str = json.dumps(res)
如果您坚持要对输出进行排序:
res_str = json.dumps(res, sort_keys=True)
答案 1 :(得分:1)
您可以执行y["data"] = x
y={"success":"true"}
x={"0":"740","1":"747","2":"883","3":"750","4":"769"}
y["data"] = x
答案 2 :(得分:0)
我认为它们是字符串而不是python dicts。所以这就是你能做的事情
y='{"success":"true"}'
x='{"0":"740","1":"747","2":"883","3":"750","4":"769"}'
import json
dict1 = json.loads(x)
dict2 = json.loads(y)
dict2['data'] = dict1
result = json.dumps(dict2)
print result
上面的代码为您提供了这个
{"data": {"1": "747", "0": "740", "3": "750", "2": "883", "4": "769"}, "success": "true"}
如果要保留json字符串中的结构,可以查看this link。这将使解码变得更复杂。