【问题标题】:add main attribute to json object in python在python中将主要属性添加到json对象
【发布时间】:2021-03-23 09:02:37
【问题描述】:

我想将主要属性添加到 json 对象。请参阅下面的 python 代码、json 对象和预期结果。

data.json

    [{
       "Full Address": "data1",
       "p1": "1",
       "p2": "6"  
      },
      {
      "Full Address": "data2",
      "p1": "1",
      "p2": "6"
    }]

预期结果

    [{
    "fields": {
      "Full Address": "data1",
      "p1": "1",
      "p2": "6"
       }
     },
     {
   "fields": {
    "Full Address": "data2",
    "p1": "1",
    "p2": "6"
   }
   }]

代码

import json
with open("data.json", 'r') as json_file:
 json_decoded = json.load(json_file)
for x in json_decoded:
 x['fields'] = ''
 with open("output.json", 'w') as json_out_file:
 json.dump(json_decoded, json_out_file, indent=2, ensure_ascii=False)

使用此代码,我可以在 json 对象中添加元素,但我的预期结果不同。

我的代码输出是

   [
     {
      "Full Address": "data1",
      "p1": "1",
      "p2": "6",
      "fields": " "
     },
     {
    "Full Address": "data2",
    "p1": "1",
    "p2": "6",
    "fields": " "
    }
  ]

Picture

【问题讨论】:

    标签: json python-3.x dictionary element add


    【解决方案1】:

    试试这个:

    import json
    
    d = [
        {
            "Full Address": "data1",
            "p1": "1",
            "p2": "6"
        },
        {
            "Full Address": "data2",
            "p1": "1",
            "p2": "6"
        },
    ]
    
    print(json.dumps([{"fields": {**i}} for i in d], indent=2))
    

    输出:

    [
      {
        "fields": {
          "Full Address": "data1",
          "p1": "1",
          "p2": "6"
        }
      },
      {
        "fields": {
          "Full Address": "data2",
          "p1": "1",
          "p2": "6"
        }
      }
    ]
    

    【讨论】:

      猜你喜欢
      • 2015-09-21
      • 2018-07-27
      • 1970-01-01
      • 2015-09-01
      • 2021-10-03
      • 2015-11-15
      • 2016-12-30
      • 1970-01-01
      • 2021-10-26
      相关资源
      最近更新 更多