Skip to main content
 首页 » 编程设计

python之使用 Python 访问嵌套的 JSON 值

2025年05月04日13mate10pro

我正在尝试使用 Python 访问嵌套的 JSON 值。

这是我的 JSON 的摘录:

    { 
  "data": [ 
    { 
      "name": "page_video_views", 
      "period": "day", 
      "values": [ 
        { 
          "value": 634, 
          "end_time": "2018-11-23T08:00:00+0000" 
        }, 
        { 
          "value": 465, 
          "end_time": "2018-11-24T08:00:00+0000" 
        } 
      ], 
      "title": "Daily Total Video Views", 
      "description": "Daily: Total number of times videos have been viewed for more than 3 seconds. (Total Count)", 
      "id": "{page-id}/insights/page_video_views/day" 
    }, 

这是我到目前为止编写的代码:

import json 
import urllib.request 
 
data = urllib.request.urlopen("https://graph.facebook.com/v3.1/{page-id}/insights?access_token={access-token}&pretty=0&metric=page_impressions%2cpage_engaged_users%2cpage_fans%2cpage_video_views%2cpage_posts_impressions").read() 
 
output = json.loads(data) 
 
print(json.dumps(output, indent=2)) 
 
for item in output['data']: 
    name = item['name'] 
    period = item['period'] 
    value = item['data']['values']['value'] 
 
    print(name, period, value) 

我面临的问题是,每当我运行代码来访问“名称”和“句点”时,它都能很好地工作,但我无法访问“值”中的“值”。我相信这是因为有两个“值(value)”结果,我想每次都拉第一个。

感谢帮助

请您参考如下方法:

item['data']['values'] 是一个列表。您需要获取它的第一个元素,然后才能访问它的 'value' 字段。即对应的行应该是:

value = item['data']['values'][0]['value']