首页 > 解决方案 > 如何选择从 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”,然后我还想从每一行获取输出。

标签: pythonjson

解决方案


您必须使用键来获取值,并且由于您的值是列表,因此您可以获得索引 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])

推荐阅读