python - 如何选择从 json 解析的内容?
问题描述
我已设法将 json 文件加载到 python 中,但只能从标题中获取信息,如何从其中的列表中获取信息?对不起,如果这是非常基本的,但我在谷歌上没有运气,因为我不知道要搜索什么。谢谢。
这就是我导入文件并尝试打印名称和链接的方式:
import json
with open('scrape.json') as json_file:
data = json.load(json_file)
for p in data[0]:
print('Name: ' + p[0])
print('Website: ' + p[1])
这就是我的 json 文件的格式:
[
{"product_name": ["title1"], "product_link": ["www.url1.com"]},
{"product_name": ["title2"], "product_link": ["www.url2.com"]},
{"product_name": ["title3"], "product_link": ["www.url3.com"]},
]
我得到的输出是
Name: p
Website: r
此信息来自“product_name”的第一行和前 2 个字符
我想要的输出是“title1”和“www.url1.com”,然后我还想从每一行获取输出。
解决方案
您必须使用键来获取值,并且由于您的值是列表,因此您可以获得索引 0 即 [0] 来获取值:
with open('scrape.json') as json_file:
data = json.load(json_file)
for p in data[0]:
print('Name: ' + p["product_name"][0])
print('Website: ' + p["product_link"][0])
推荐阅读
- hibernate - Grails 如何在 g:each 中显示 HQL JOIN 值
- python - 错误:“管道的最后一步应该实现 fit 或者是字符串 'passthrough'
- html - 为什么这个文本在它的位置?
- python-3.x - 使用 etree 解析 python xml
- android - 如何使用 kotlin 在片段中使用“getActivity()”
- java - 有没有办法用java代码检测nvidia驱动程序版本(也许使用jogl)?
- python - Python 顺序异步
- python - 该参数不会在整个优化过程中更新
- android - 以编程方式执行 UI 事件,如 Android 应用程序中的点击事件
- .net - AzureDevops-.Net 项目分析与 sonarQube 错误