Python 如何遍历json对象
我的问题分为两部分 我有一个json文件:Python 如何遍历json对象,python,json,Python,Json,我的问题分为两部分 我有一个json文件: "result": [ { "id": "12345678", "label": "Target Label", "hostName": "www.example.com", "location": "Seattle, WA", "locationid": "9",
"result": [
{
"id": "12345678",
"label": "Target Label",
"hostName": "www.example.com",
"location": "Seattle, WA",
"locationid": "9",
"targetType": "PING basic",
"frequency": "5",
"statusCode": "UP",
"statusMessage": "OK",
"fails": "0",
"responseTime": "0.136",
"dnsTime": "0.000",
"connectTime": "0.136",
"redirectTime": "0.000",
"firstbyteTime": "0.000",
"lastbyteTime": "0.000",
"lastCheck": "15:43 12-05-2017",
"lastDown": "21:34 11-17-2017",
"pingLoss": "0.00",
"pingMin": "136.357",
"pingAvg": "136.597",
"pingMax": "137.049"
}
]
问题1:假设json文件包含N个“result”
如何在循环中访问json结果
我这样做是为了从单个结果访问:
data = {}
data['PublisherMessage'] = data_dict['result'][0]['statusMessage']
如何在具有多个结果的循环中访问json结果
问题2:
我如何在循环中创建dictionary以将其分配给我将在循环中获取的json结果?假设您有
data\u dict
,其唯一条目是data\u dict['result']
,那么这是一个您可以迭代的列表:
for item in data_dict['result']:
# do something with item['statusMessage'] etc
您可以使用for循环,如
for result in data.\u dict['result']
顺便说一句,您拥有的不是json
。你的意思是:{“result”:[…]}
?我在这里主要尝试的是读取具有多个结果对象的json文件,并将其映射到具有多个dict的格式。我希望将整个功能放在一个循环中,现在我了解了如何读取多个结果对象。现在我的问题是如何在循环中创建一个dict并映射那些多结果objectdata={}data['PublisherMessage']=data_dict['result'][0]['statusMessage']data['publisherCritivity']=critivity_code data['PublisherStatus']=data_dict['result'][0]['statusCode']data['CorrelationID']=None data['IP']=None data['CIName']=data_dict['result'][0]['hostName']data['PublisherTimestamp']=datetime.strtime(data_dict['result'][0]['lastDown'],“%H:%M%M-%d-%Y”).isoformat()以open(“data_post.json”,“w”)作为write_文件:json.dump(data,write_文件,indent=4)这就是我目前正在做的事情