python - 如何过滤 JSON 数据?
问题描述
import requests
s = requests.Session()
r = s.get(
'https://www.off---white.com/en/GB/men/products/omia066s188000161001.json')
print(r.text)
上面的代码重新运行以下内容:
{"available_sizes":[{"id":104792,"name":"40","preorder_only":false},
{"id":104794,"name":"42","preorder_only":false},
{"id":104795,"name":"43","preorder_only":false}]}
我将如何过滤上述数据,所以当我指定名称值 40 时,id
会打印 104792 的值?
简单来说,如果我要求 'name' 40 的值,那么脚本将打印 'id' 值。
解决方案
您可以使用.json()
.requests.Reponse
data = r.json()
try:
value = next(size['id']
for size in data['available_sizes']
if size['name'] == '40')
except StopIteration:
value = None
Invalue
将存储第一个大小 id,name == '40'
如果存在,如果不存在None
。
推荐阅读
- jquery - TinyMCE 编辑器未在 JQuery UI 对话框中显示
- python - 如何正确地从其 ftp 中提取 PubMed gz 文件?
- java - RecordComponent::getDeclaringRecord 的目的是什么
- r - 如何在 R 中对长数据使用 summarise()?
- javascript - 移除 JavaScript 默认按键事件
- python-3.x - 如何使用 iter_content 迭代字节类型数据?
- entity-framework-core - EF Core 5 中的自引用关系
- reactjs - 使用 vmsg 制作 React 应用程序的错误消息
- npm - Npm 依赖错误 - node-sass 未安装,抛出错误
- bluetooth-lowenergy - 为什么蓝牙文件设备名称有时会出现在广告中,有时不会?