繁体   English   中英

如何从 JSON 数组中提取密钥对值?

[英]How to extract a key pair value from a JSON array?

我正在使用 GET 查询字符串来定位特定记录。 正确的结果在 JSON 中返回,但在一个数组中(它允许多个项目,但由于我在查询字符串中使用唯一键,所以只会返回一个项目,但它仍然在一个数组中)。 之前我已经能够从 JSON 结果中提取特定密钥对的值,但这次这个特定结果在数组中的事实让我很难过。 我是一组远离成功的方括号:-(这是JSON响应,我想要'Id'的值:

{
'@odata.context': 'https://foo.bar.com/mySite/api/v2/object/$metadata#MuseuSensorData_SensorDeviceObject',
'value': 
    [
    {
     'Id': '02cb9c0f-89ca-46fd-882e-5d770d7da214',
     'DateCreated': '2022-07-13T14:05:22.24+01:00',
     'DeviceName': 'Cabinet 2 Sensor 1',
     'IsActive': True, 
     'SerialNumber': '1234'
   }
]}

在我的 Python 代码中,提取下面的内容,我试图返回 'Id' 的值,但我得到的只是许多错误中的任何一个(最新的是TypeError: string indices must be integers ),我知道与到索引/字典和称为切片的东西,并导航到所需的部分,但我是 Python 的新手(截至本周),它让我旋转。

response = requests.request("GET", url, headers=headers)
data = response.text
print(data[0]['value']['Id'])

看来我快到了。 感谢Kacper ,我现在的代码顺序正确:

data = response.text
parsed_json = json.loads(data) 
RecID = parsed_json['value'][0]['Id']
print(RecID)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM