Python 将两个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

我有两个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"
      }
    }
  ]
}

我该怎么做呢?

一旦它们是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?