Python 将两个JSON对象合并为一个
我有两个JSON对象。一个是python数组,它使用json、dumps()和其他包含来自数据库的记录并使用json序列化程序序列化。我想将它们组合成一个JSON对象 例如:Python 将两个JSON对象合并为一个,python,json,Python,Json,我有两个JSON对象。一个是python数组,它使用json、dumps()和其他包含来自数据库的记录并使用json序列化程序序列化。我想将它们组合成一个JSON对象 例如: obj1 = ["a1", "a2", "a3"] obj2 = [{ "pk": "e1", "model": "AB.abc", "fields": { "e_desc": "abcd" } }, { "pk": "e1", "model": "AB
obj1 = ["a1", "a2", "a3"]
obj2 = [{
"pk": "e1",
"model": "AB.abc",
"fields": {
"e_desc": "abcd"
}
},
{
"pk": "e1",
"model": "AB.abc",
"fields": {
"e_desc": "hij"
}
}
]
我想将它们合并到单个对象中,如下所示:
finalObj = {
obj1: ["a1", "a2", "a3"],
obj2: [{
"pk": "e1",
"model": "AB.abc",
"fields": {
"e_desc": "abcd"
}
},
{
"pk": "e1",
"model": "AB.abc",
"fields": {
"e_desc": "hij"
}
}
]
}
我该怎么做呢?一旦它们是JSON格式,你就不能这么做了——JSON只是文本。您需要首先在Python中组合它们:
data = { 'obj1' : obj1, 'obj2' : obj2 }
json.dumps(data)
我不确定我是否遗漏了什么,但我认为这对您指定的输出是有效的(在python 2.5中进行了测试):
import simplejson
finalObj = { 'obj1': obj1, 'obj2': obj2 }
simplejson.dumps(finalObj)
你有两种技巧。列表版本受到顺序的限制。然而,JSON看起来稍微简单一些。字典版本有嵌套数据,看起来更复杂
data = { 'obj1' : obj1, 'obj2' : obj2 }
json.dumps(data,indent=2)
data = [ obj1, obj2 ]
json.dumps(data,indent=2)
客户端上的typeof(finalObj.obj2)是string。要返回JSON对象,请使用JSON.parse(finalObj)谢谢。为什么要添加缩进=2?