【发布时间】:2015-01-21 06:42:36
【问题描述】:
我是python的新手,习惯了php,我正在尝试弄清楚如何将来自多个数据集的json.loads合并为一个。
这就是我所拥有的:
import json
var = json.loads('{"root": [{"item 1": "1","item 2": "2","List1": [1,2,3]}]}')
var2 = json.loads('{"root": [{"item 1": "1","item 2": "2","List2": [1,2,3]}]}')
import pprint
print 'var:'
pprint.pprint(var);
print 'var2:'
pprint.pprint(var2);
print 'deepcopy:'
import copy;
var3 = var;
var3 = copy.deepcopy(var2);
pprint.pprint(var3);
print 'dict copy:'
pprint.pprint(dict(var.items() + var2.items()));
结果:
变量: {u'root': [{u'List1': [1, 2, 3], u'item 1': u'1', u'item 2': u'2'}]}
var2: {u'root': [{u'List2': [1, 2, 3], u'item 1': u'1', u'item 2': u'2'}]}
深拷贝: {u'root': [{u'List2': [1, 2, 3], u'item 1': u'1', u'item 2': u'2'}]}
字典副本: {u'root': [{u'List2': [1, 2, 3], u'item 1': u'1', u'item 2': u'2'}]}
我正在寻找类似的结果(包括两个列表),但包括重复的项目也会有帮助,因为这样我就会朝着正确的方向前进:
{u'root': [{u'List1': [1, 2, 3], u'List2': [1, 2, 3], u'item 1': u'1', u'项目 2': u'2'}]}
【问题讨论】:
-
谢谢,这就是我尝试的“dict copy”项目,打印结果#4。不幸的是,这并没有这样做,我相信这是因为解析的 JSON 是字典和列表的混合体。
-
@brainovergrow 这种情况比 OP 所处的情况要复杂一些
标签: python json list dictionary merge