COmbining two jsons
我有两个JSON对象,我正在研究如何将它们合并到Python中。
1 2
| y={"success":"true"}
x={"0":"740","1":"747","2":"883","3":"750","4":"769"} |
我需要以下方式的最终结果
1 2 3 4 5 6 7 8 9
| {"success":"true",
"data":{
"0":"740",
"1":"747",
"2":"883",
"3":"750",
"4":"769"
}
} |
我正试图附加它,但它显示了一些错误。帮助我使用Python中的代码。
- 这只是两个听写。为什么不只是y['data'] = x?
- 当我尝试时,它显示以下错误
- "str"对象不支持项分配
- 我试过把x附加到y上,但没用!:(
- 如果它们是json(这意味着它们可能是字符串),那么首先使用json.loads将它们转换为python dict,然后合并这些dict,最后使用json.dumps将它们转换回json。
- 那么,x是str而不是dict(如您的示例所示)。您需要使用json.loads对其进行解码。
- x不是字符串,我将数据帧转换为json
- 它不是用来添加密钥的dict
- 你最后的评论令人困惑。什么意思?
- 检查这个链接。如果使用了通常的函数,那么返回值肯定是文档中提到的字符串。所以两个转换后的数据帧应该是字符串而不是dict
your input seem to be strings and not dictionaries. you need to convert them to dicts using json.loads:
导入jsony='"成功":"真
- 获取输出为"data":"1":"747","0":"740","3":"750","2":"883","4":"769","success":"true",1为什么出现在0之前?
- 字典是无序的。例如,请参见。
- 因为python命令,所以按定义,它是不按顺序排列的。如果您需要订购dict,您可以在键上对其进行排序,或者使用ordered dict之类的东西,在这种情况下,转换当然会变得更加复杂。
- @sandeparajamahendravarapu:增加了一种方法,可以使用json.dumps对输出进行排序。但这只涉及JSON字符串,而不涉及dict本身。
你可以简单地做EDOCX1[0]
[cc lang="python"]y={"success":"true
- 错误:'str'对象不支持项分配
- 在这种情况下,看看另一个答案。
I assume that they are strings and not python dicts. So here is what you can do
[cc lang="python"]y='{"success":"true
- "1":"747","0":"740","3":"750","2":"883","4":"769","data":"success":"true"输出错误!
- 修改了代码以适应输出。我还提到了一个链接,可以使用直接从我的评论中的JSON字符串创建到其他答案的有序dict。如果有帮助请告诉我。