将两个JSON对象合并为一个

11 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.abc",
        "fields": {
            "e_desc": "hij"
        }
    },

]
Run Code Online (Sandbox Code Playgroud)

我想将它们合并为单个对象,如下所示:

finalObj = {
               obj1:["a1", "a2", "a3"],
               obj2: [
                         {
                             "pk": "e1",
                             "model": "AB.abc",
                             "fields": {
                             "e_desc": "abcd"
                              }
                         },
                         {
                              "pk": "e1",
                              "model": "AB.abc",
                               "fields": {
                               "e_desc": "hij"
                                }
                          },

                     ]  
           }
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Vin*_*jip 19

一旦它们采用JSON格式,您就无法做到 - JSON只是文本.您需要先在Python中将它们组合在一起:

data = { 'obj1' : obj1, 'obj2' : obj2 }
json.dumps(data)
Run Code Online (Sandbox Code Playgroud)


ars*_*ars 6

不确定我是否遗漏了某些内容,但我认为这可以使用您指定的输出(在python 2.5中测试):

import simplejson

finalObj = { 'obj1': obj1, 'obj2': obj2 }
simplejson.dumps(finalObj)
Run Code Online (Sandbox Code Playgroud)