将多个JSON对象合并为一个JSON对象

时间:2018-08-22 18:49:38

标签: json python-3.x merge

我正在对REST服务执行多个请求,并从每个请求获取JSON数据。我想要做的是将所有这些JSON对象合并(希望我使用正确的术语)到一个对象中。我该怎么办?

minCount = 1
maxCount = 1000
masterJson = {}
for x in range(36):
    params = {'f': 'json', 'where': 'OBJECTID>='+str(minCount)+'and OBJECTID<='+str(maxCount), 'geometryType': 'esriGeometryPolygon', 'spatialRel': 'esriSpatialRelIntersects','outFields': '*', 'returnGeometry': 'true'}
    r = requests.get('https://hazards.fema.gov/gis/nfhl/rest/services/CSLF/Prelim_CSLF/MapServer/3/query', params)

    cslfJson = r.json()
    masterJson.update(cslfJson)

    for item in cslfJson['features']:
        objCount = item['attributes']['OBJECTID']

        if minCount < objCount:
            break
        else:
        minCount = minCount + maxCount
        maxCount = maxCount + 1000

从本质上讲,它是我想要组合为一个cslfJson对象变量的cslfJson变量(JSON obj)。

1 个答案:

答案 0 :(得分:1)

在内存中,JSON对象被视为dict,因此将每个JSON obj视为dict

masterJson = {}
masterJson['JSON1'] = cslfJson
masterJson['JSON2'] = cslfJson

如果您需要编写.json文件,则只需将整个dict作为参数传递给JSON编写器。