【问题标题】:Using data from JSON response in python [duplicate]在python中使用来自JSON响应的数据[重复]
【发布时间】:2023-03-16 00:50:01
【问题描述】:

我目前正在使用 Kairos 进行一个小型人脸识别项目,但我不知道如何使用我的响应数据。这是基于我发送的图片的数据:

request = Request(url, data=values, headers=headers)
response_body = urlopen(request).read()
print(response_body)

我的回答是这样的,我想使用“信心”值:

{
"images": [
    {
      "transaction": {
        "status": "success",
        "width": 327,
        "topLeftX": 512,
        "topLeftY": 466,
        "gallery_name": "MyGallery",
        "subject_id": "XXX",
        "confidence": 0.70211,
        "quality": -0.06333,
        "eyeDistance": 145,
        "height": 328
      }
    }
  ],
  "uploaded_image_url": "https://XXX"
}

如何从这段代码中提取值“信心”?

【问题讨论】:

  • json 上有一个 Python 文档页面。你读过吗?
  • Request 类从何而来?如果是requests 模块,您可以使用json 方法自动解码响应并返回Python dict

标签: python json


【解决方案1】:

您的响应是一个字符串。你想要的是一个 python 数据集合,字典/列表。为了轻松解决这个问题,你可以简单地使用json库中的loads方法。

import loads from json
data = loads(response_body)

然后得到你可以做的置信度值

confidence = data.images[0].transaction.confidence

【讨论】:

  • 他所说的。 JSON 格式的数据或多或少是一个花哨的格式字典。确保您将其作为一个整体来阅读。
  • 问题问如何得到置信度值
  • 我编辑了我的答案
【解决方案2】:

感谢您的回复。

我通过使用得到了正确的值:

request = Request(url, data=values, headers=headers)
response_body = json.loads(urlopen(request).read())
confidence = response_body.get('images')[0].get('transaction').get('confidence')
print(confidence)

【讨论】:

    【解决方案3】:

    你可以这样。您的回复是下一个字典

    >>> resp
    {'images': [{'transaction': {'status': 'success', 'width': 327, 'topLeftX': 512, 'topLeftY': 466, 'gallery_name': 'MyGallery', 'subject_id': 'XXX', 'height': 328, 'quality': -0.06333, 'confidence': 0.70211, 'eyeDistance': 145}}], 'uploaded_image_url': 'https://XXX'}
    
    >>> resp.get('images')[0].get('transaction').get('confidence')
    0.70211
    >>> 
    

    【讨论】:

    • OP 还没有dict,只有read 返回的字节串。
    • 根据 OP deciption 响应是字典
    • 不,print(response_body) 的输出 看起来 像字典。将print({'foo': 1}) 的输出与print("{'foo': 1}") 进行比较。名为 read 的方法不太可能返回原始字节以外的任何内容。
    猜你喜欢
    • 1970-01-01
    • 2017-06-14
    • 2021-09-26
    • 1970-01-01
    • 2015-05-13
    • 2017-09-14
    • 2021-05-04
    • 2016-07-24
    • 2018-10-13
    相关资源
    最近更新 更多