【问题标题】:Merging a list of dictionaries to json将字典列表合并到 json
【发布时间】:2020-10-12 05:48:02
【问题描述】:

我正在尝试将字典列表合并到一个 json 对象中,以供另一个 json 解析器使用。

这是我从requests.get 获取的列表:

list = [{"name":"New York USA"}, {"id":446}]

期望的输出:

{
  "org": {
    "name": "New York USA",
    "id": 446
  }
}

【问题讨论】:

  • json 包有一个dumps 方法
  • 预期的json格式无效。
  • @jizhihaoSAMA 请在编辑他的帖子时使用普通引号。原帖引用正常
  • 这能回答你的问题吗? Python: converting a list of dictionaries to json
  • 标题“将字典列表转换为json”目前没有描述正文中描述的细节,这更多的是从字典列表构建单个对象然后转换的问题到 JSON。

标签: python json


【解决方案1】:

另一种解决方案是使用字典理解注意:即使 dict 有多个键和值,此解决方案也可以工作)

list = [{"name":"New York USA"}, {"id":446}]
data = {}
data['org'] = {key:value for item in list for key, value in item.items()}
print(data)

output: {'org': {'name': 'New York USA', 'id': 446}}

【讨论】:

  • @user3558255,如果这个解决方案真的解决了你的问题,请接受这个答案
【解决方案2】:

首先将所有字典合并到列表中,然后创建一个新字典,然后用 json 转储它。请在下面试试这个

import json
list = [{"name":"New York USA"}, {"id":446}]
def Merge(dict1, dict2): 
   res = {**dict1, **dict2} 
   return res 
dic=Merge(list[0],list[1])
print(dic)
new_json={'org':dic}
json_rep = json.dumps(new_json)
print(json_rep)

输出

'{"org": {"name": "New York USA", "id": 446}}'

【讨论】:

    【解决方案3】:

    你可以使用内置的json library

    import json
    
    list_of_dicts = [{},{}]
    
    json_rep = json.dumps(list_of_dicts)
    

    【讨论】:

    • 此代码是否产生所需的输出?我试过这段代码,它产生的输出与输入相同
    猜你喜欢
    • 2017-04-11
    • 1970-01-01
    • 2021-04-10
    • 2019-03-12
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    相关资源
    最近更新 更多