第一个data
{
"data1": [
{
"id": "123456",
"create_time": "2016-03-28 11:41:00",
"phone": "138888****",
"name": "路人甲",
},
{
"id": "456789",
"create_time": "2016-03-30 11:41:00",
"phone": "138888****",
"name": "炮兵灰",
}
]
}
第二个data
{
"data2": [
{
"id": "88888888",
"create_time": "2016-03-28 11:41:00",
"phone": "138888****",
"name": "路人甲",
},
{
"id": "9999999",
"create_time": "2016-03-30 11:41:00",
"phone": "138888****",
"name": "炮兵灰",
}
]
}
data1的id是正确的
data2的id是要被替换的
data1如何判断 name和phone 来覆盖data2的id
(因为单纯用name或者phone其中一个 会导致重复错误 因为不是唯一的~)
只能遍历两个data来实现
for d2 in my_dict['data2']:
for d1 in my_dict['data1']:
if d2['phone']==d1['phone'] and d2['name']==d1['name']:
d2['id']=d1['id']
break
else:
print 'can not find the same msg in data1,msg:',d2
希望可以帮到你。
print data2.update(data1)