我有两个JSON对象。一个是python数组,它使用json转换,dumps()和其他包含数据库的记录,并使用json序列化程序进行序列化。我想将它们组合成一个JSON对象。
例如:
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"
}
},
]
}
我该怎么做?
答案 0 :(得分:19)
一旦它们采用JSON格式,你就无法做到 - JSON只是文本。您需要先在Python中将它们组合在一起:
data = { 'obj1' : obj1, 'obj2' : obj2 }
json.dumps(data)
答案 1 :(得分:6)
不确定我是否遗漏了某些内容,但我认为这可以在您指定的输出中运行(在python 2.5中测试):
import simplejson
finalObj = { 'obj1': obj1, 'obj2': obj2 }
simplejson.dumps(finalObj)
答案 2 :(得分:0)
你有两种技巧。列表版本受到订单重要的限制。但是,JSON看起来稍微简单一些。字典版本具有嵌套数据,看起来更复杂。
data = { 'obj1' : obj1, 'obj2' : obj2 }
json.dumps(data,indent=2)
data = [ obj1, obj2 ]
json.dumps(data,indent=2)