【问题标题】:Working with JSON in Python - Cannot Get to Correct Data Level在 Python 中使用 JSON - 无法获得正确的数据级别
【发布时间】:2021-12-30 19:22:34
【问题描述】:

使用 Pocket API 数据集并尝试解析每个项目的详细信息。不幸的是,我一直在查看“列表”数据,而不是每个项目的单个详细信息。

JSON

"status": 1,
"complete": 1,
"list": {
    "2872254473": {
        "item_id": "2872254473",
        "resolved_id": "2872254473",
        "given_url": "https://i.redd.it/g0iq3upzffe41.jpg",
        "given_title": "i.redd.it",
        "favorite": "0",
        "status": "1",
        "time_added": "1580666841",
        "time_updated": "1580667500",
        "time_read": "1580667500",
        "time_favorited": "0",
        "sort_id": 0,
        "resolved_title": "",
        "resolved_url": "https://i.redd.it/g0iq3upzffe41.jpg",
        "excerpt": "",
        "is_article": "0",
        "is_index": "0",
        "has_video": "0",
        "has_image": "2",
        "word_count": "0",
        "lang": "",
        "domain_metadata": {
            "name": "Reddit",
            "logo": "https://logo.clearbit.com/reddit.com?size=800",
            "greyscale_logo": "https://logo.clearbit.com/reddit.com?size=800&greyscale=true"
        },

Python 代码

import json
with open('2. JSON Data (Pocket Articles Tagged TIL)2.json') as f:
  data = json.load(f)

print(data)
print('----')
print(type(data))
print(type(data['list']))

for item in data['list']:
 print(item)

问题是我似乎无法使用 data['item'] 或 data['list']['item']。我正在尝试查询每个单独项目的 added_date 和 item_id。

【问题讨论】:

  • 这些打印的 python 解释器输出是什么?
  • 还有一层 b/w listitem_id...do data['list']['2872254473']['item_id']
  • 你试过data['list'][item]吗?

标签: python json


【解决方案1】:

您可以使用以下代码获取每个项目的 id 和 time_added:

for list_key, value in data['list'].items():
    print(list_key, value['item_id'], value['time_added'])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    • 2019-02-25
    相关资源
    最近更新 更多