我正在对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)。
答案 0 :(得分:1)
在内存中,JSON对象被视为dict
,因此将每个JSON obj视为dict
。
masterJson = {}
masterJson['JSON1'] = cslfJson
masterJson['JSON2'] = cslfJson
如果您需要编写.json文件,则只需将整个dict
作为参数传递给JSON编写器。