Python 如何组合两个JSON文件?

Python 如何组合两个JSON文件?,python,json,join,Python,Json,Join,我有两个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"

我有两个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编写代码。

您只需执行
y[“data”]=x

y={"success":"true"}
x={"0":"740","1":"747","2":"883","3":"750","4":"769"}

y["data"] = x

我假设它们是字符串,而不是python dict。这就是你能做的

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字符串中的结构,可以查看。这将使解码变得更加复杂。

您的输入似乎是字符串而不是字典。您需要使用以下命令将其转换为DICT:

如果需要再次以字符串形式输出,请使用:

如果您坚持要对输出进行排序:

res_str = json.dumps(res, sort_keys=True)

这只是两条格言。为什么不干脆
y['data']=x
?当我尝试“str”对象不支持项目分配时,它显示了以下错误我尝试将x附加到y中,不起作用!:(如果它们是json(这意味着它们可能是字符串),那么首先使用
json将它们转换为python dict。加载
,然后合并这些dict,最后使用
json将它们转换回json。dumps
错误:'str'对象不支持项分配在这种情况下,请查看。将输出作为{“数据”:{“1”:“747”,“0”:“740”,“3”:“750”,“2”:“883”,“4”:“769”},“成功”:“真”},为什么1位于0之前?字典是无序的。请参阅示例。因为根据定义,python dict是不有序的。如果需要对dict进行排序,您可以按键对其排序,或者使用类似的方法,在这种情况下,转换当然会变得更复杂。@SandepRajamahendravarapu:添加了一种使用
json.dumps
。但这只涉及json字符串,而不是dict本身。{“1”:“747”、“0”:“740”、“3”:“750”、“2”:“883”、“4”:“769”、“数据”:{“成功”:“true”}输出错误!对代码做了一些修改以适应输出。我还提到了一个链接,可以使用排序dicts直接从我对其他答案的评论中的json字符串创建。如果有帮助,请告诉我。
res_str = json.dumps(res)
res_str = json.dumps(res, sort_keys=True)