如何从 JSON API 中提取数字

How to extract numbers from JSON API

我想从 JSON API 中提取数字并计算这些数字的总和。格式为

{
      comments: [
      {
        name: "Matthias"
         count: 97
      },
      {
        name: "Geomer"
        count: 97
      }
      ...
     ]
   }

我的密码是

import json
import urllib

url = 'http://python-data.dr-chuck.net/comments_204529.json'
print 'Retrieving', url
uh = urllib.urlopen(url)
data = uh.read()
print 'Retrieved',len(data),'characters'

result = json.loads(url)
print result

我可以得到这个数据中有多少个字符的结果,但无法继续代码,因为它说 JSON 对象无法解码。

有谁知道如何完成这段代码?非常感谢!

首先,我建议您研究内置的 Python Data Structures 以更好地了解您正在处理的内容。

result 是一个 字典 result["comments"] 是一个 字典列表 - 你可以制作一个 list comprehension 获取所有评论数:

>>> import json
>>> import urllib
>>>
>>> url = 'http://python-data.dr-chuck.net/comments_204529.json'
>>> uh = urllib.urlopen(url)
>>> result = json.load(uh)
>>>
>>> [comment["count"] for comment in result["comments"]]
[100, 96, 95, 93, 85, 85, 77, 73, 73, 70, 65, 65, 65, 62, 62, 62, 61, 57, 50, 49, 46, 46, 43, 42, 39, 38, 37, 36, 34, 33, 31, 28, 28, 26, 26, 25, 22, 20, 20, 18, 17, 15, 14, 12, 10, 9, 8, 6, 5, 3]