【问题标题】:Replace object in json with another json file using python使用python将json中的对象替换为另一个json文件
【发布时间】:2015-07-27 21:02:29
【问题描述】:

我目前有两个需要使用 python 组合的 json 文件。本质上,我想使用 python 将文件 1 中的选择数组替换为文件 2 中的数组。我该怎么做呢? 文件 1 是:

{
    "choice_list": {
        "name": "Boston Street Names",
        "choices":[ {"value": "127906", "label": "DAVIS STREET"},
                    {"value": "129909", "label": "NORTH QUINCY STREET" },
                    { "value": "134194", "label": "ADAMS STREET" }] 
     } 
}

文件 2 是:

[{"value": "134484", "label": "PRISCILLA ALDEN ROAD"},
 {"value": "134487", "label": "VAN BUREN DRIVE"}]

【问题讨论】:

    标签: python json parsing


    【解决方案1】:

    使用原生 python JSON 库:

    import json
    json1 = '{\
        "choice_list": {\
            "name": "Boston Street Names",\
            "choices":[ {"value": "127906", "label": "DAVIS STREET"},\
                        {"value": "129909", "label": "NORTH QUINCY STREET" },\
                        { "value": "134194", "label": "ADAMS STREET" }]\
         } \
    }'
    
    json2 = '[{"value": "134484", "label": "PRISCILLA ALDEN ROAD"},\
     {"value": "134487", "label": "VAN BUREN DRIVE"}]'
    
    res = json.loads(json1)
    res['choice_list']['choices'] = json.loads(json2)
    print json.dumps(res)
    

    结果:

    {"choice_list":
        {"name": "Boston Street Names",
         "choices":
             [{"value": "134484","label": "PRISCILLA ALDEN ROAD"},
              {"value": "134487", "label": "VAN BUREN DRIVE"}]
        }
    }
    

    loads 方法接受 JSON 字符串并将其转换为 python 字典对象(所有键为 unicode)。然后,您可以加载另一个 JSON 对象,引用您要替换的键并分配它。然后你只需转换回 JSON 字符串。

    【讨论】:

      猜你喜欢
      • 2015-03-13
      • 2012-07-30
      • 2017-07-01
      • 2022-12-17
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      相关资源
      最近更新 更多