我在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)
答案 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'])