字典中的Python对象和列表

时间:2016-10-31 13:07:15

标签: python json

我对Python很陌生,所以只是通过了解数据集。

我在生成我正在使用的API所需的JSON输出时遇到了一些麻烦。

我正在使用

import json
json.load(data_file)

使用Python字典,然后执行

json.dump(dict, json_data)

输出时,我的数据需要如下所示。

    {
  "event":{
    "id":10006,
    "event_name":"My Event Name",
  },
  "sub event":[

  ],
  "attendees":[
    {
      "id":11201,
      "first_name":"Jeff",
      "last_name":"Smith",
    },
    {
      "id":10002,
      "first_name":"Victoria",
      "last_name":"Baker",
    },
  ]
}

我已经能够在python中创建数组并转储到json,但是我在字典中创建事件“object”时遇到了困难。我使用以下内容:

attendees = ['attendees']
attendeesdict = {}
attendeesdict['first_name'] = "Jeff"
attendees.append(attendeesdict.copy())

有人可以帮我正确添加“事件”对象吗?

4 个答案:

答案 0 :(得分:1)

如果您只想静态创建嵌套字典,则可以使用单个文字。如果将上面的JSON粘贴到python代码中,您将得到一个有效的dict文字。

答案 1 :(得分:1)

假设您已在其他地方构建了所有值,现在只需将它们组合在一起:

result = {'event':event_dict, 'sub event':subevent_list, 'attendees':attendees_list}

答案 2 :(得分:1)

一般来说,从JSON到字典几乎没有用,因为两者非常相似,如果不相同的话:

attendees = [
    {
        "first_name": "Jeff"
        # Add other fields which you need here
    },
    {
        "first_name": "Victoria"
    }    
]

在这种情况下,attendees是一个词典列表。对于event

event = {
    "id": 10006,
    "event_name": "My Event Name"
}

全部放在一起:

data = {
    "event": event,
    "sub event": [],
    "attendees": attendees
}

现在,您可以将其转换为JSON对象,准备发送到您的API:

json_object = json.dumps(data)

答案 3 :(得分:0)

构建您的dicts并添加如下

    {
      "event":"add your dict"
      "sub event":["add your dict"],
      "attendees":["add your dict"]
    }