Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python 3.8过滤API JSON响应_Python_Json_Api_Python 3.8 - Fatal编程技术网

使用Python 3.8过滤API JSON响应

使用Python 3.8过滤API JSON响应,python,json,api,python-3.8,Python,Json,Api,Python 3.8,使用python在API上执行请求会得到下一个json答案: . . . }, "locationLatitude": "string", "locationLongitude": "string", "lastSyncTimeStamp": "2020-06-11T08:01:01.565Z", "isPowerTrainComponent": true, "sensorTypeID": 0, "sensorIdentifier":

使用python在API上执行请求会得到下一个json答案:

.
.
.
      },

    "locationLatitude": "string",
    "locationLongitude": "string",
    "lastSyncTimeStamp": "2020-06-11T08:01:01.565Z",
    "isPowerTrainComponent": true,
    "sensorTypeID": 0,
    "sensorIdentifier": "string",
    "assetGroupID": 0,
    "assetResponsibleID": 0,
    "assetResponsibleName": "string",
    "assetID": 0,
    "assetName": "string",
    "serialNumber": "string",
    "description": "string",
    "configurationProfileID": 0,
    "configurationProfileName": "string",
    "isMonitored": true 
.
.
.
我想过滤循环响应,只获取每个循环的“assetname”和“lastSyncTimeStamp”。我有下面的代码,但它不工作。。。谢谢你的帮助

.
.
.
    # Iterate the plant list and print all assets therein
    for plant in plants:

        # Get list of assets
        response = client.get_asset_list(organization_id=client.organization_id)
        if len(response) == 0:
            print('No assets in this plant')
        else:
            for asset in response:
                print(asset,"assetName","lastSyncTimeStamp")

    return True
.
.
.

答复是一份口述清单,但

由于您的响应包含Python解释器无法识别的true,因此您可以使用
json.loads
将其转换为true

只需在response dict上使用get方法即可获得所需的值

for each_dict in response:
  print(each_dict.get("assetName"), each_dict.get("lastSyncTimeStamp"))

答复是一份口述清单,但

由于您的响应包含Python解释器无法识别的true,因此您可以使用
json.loads
将其转换为true

只需在response dict上使用get方法即可获得所需的值

for each_dict in response:
  print(each_dict.get("assetName"), each_dict.get("lastSyncTimeStamp"))

get\u asset\u list()
返回什么?什么是客户机?您共享的JSON片段不完整且无效,如果不知道它是如何构造的,就不可能说出您的代码应该是什么。你说它不起作用,但实际发生了什么?您是否收到错误消息,或者它是否总是打印“此工厂无资产”?响应中的数据类型是什么?它是一个保存JSON数据的字符串,还是JSON已经加载到Python数据结构中(dict,list…)?示例中的小写字母
true
表明它只是一个字符串,您首先需要使用
JSON.loads(response)
加载它。代码可以工作,但我不知道如何过滤响应。我发布了完整的代码
get\u asset\u list()
返回什么?什么是客户机?您共享的JSON片段不完整且无效,如果不知道它是如何构造的,就不可能说出您的代码应该是什么。你说它不起作用,但实际发生了什么?您是否收到错误消息,或者它是否总是打印“此工厂无资产”?响应中的数据类型是什么?它是一个保存JSON数据的字符串,还是JSON已经加载到Python数据结构中(dict,list…)?示例中的小写字母
true
表明它只是一个字符串,您首先需要使用
JSON.loads(response)
加载它。代码可以工作,但我不知道如何过滤响应。我发布了完整的代码