试图从JSON响应中分解出一条长线

时间:2018-04-17 19:03:16

标签: python python-3.x

我在Python 3.6.3中工作,并通过REST API连接到MDM解决方案,我的查询结果又回来了:

[{'SampleTime': '4/17/2018 6:39:00 PM', 'Latitude': '32.18007400', 'Longitude': '-94.35314700', 'Elevation': '72.76', 'Speed': '16.43', 'DeviceId': {'Value': 74365}, 'Id': {'Value': 126709703}}, {'SampleTime': '4/17/2018 6:24:00 PM', 'Latitude': '32.18735200', 'Longitude': '-94.36022700', 'Elevation': '64.67', 'Speed': '5.59', 'DeviceId': {'Value': 74365}, 'Id': {'Value': 126705738}},...]

但是当我尝试将这条长线操纵成单独的记录时,我一直遇到问题,例如输出文件中的每一行都是相同的,并且包含了json输出中的所有记录 - 所以不是我想要的,我想要每条记录在它自己的行上,与每行所有记录发生的事情:(

从下面的代码中可以看出,我使用简单的通话,非常感谢任何帮助。

awTest = requests.get(consoleURL + "/api/mdm/devices/gps?searchby=Serialnumber&id=" + deviceSerial + "&dayrange=" + lookupDays, headers={"Authorization": "Basic " + b64EncodedAuth, "aw-tenant-code": tenantCode,"Accept": "application/json;version=1"}, timeout=30)
deviceDetails = awTest.json()

for SampleTime in deviceDetails:
    #print(deviceDetails)
    logging.info(deviceDetails)

1 个答案:

答案 0 :(得分:-1)

awTest.json返回一个dicts列表:

[{'SampleTime': '4/17/2018 6:39:00 PM', 'Latitude': '32.18007400', 'Longitude': '-94.35314700', 'Elevation': '72.76', 'Speed': '16.43', 'DeviceId': {'Value': 74365}, 'Id': {'Value': 126709703}}, {'SampleTime': '4/17/2018 6:24:00 PM', 'Latitude': '32.18735200', 'Longitude': '-94.36022700', 'Elevation': '64.67', 'Speed': '5.59', 'DeviceId': {'Value': 74365}, 'Id': {'Value': 126705738}},...]

您可以通过以下方式进行迭代:

for item in deviceDetails:
    logging.info(item)

或者如果您只需要每条记录的SampleTime:

for item in deviceDetails:
    logging.info(item['SampleTime'])