如何从JSON API中提取数字

时间:2015-12-19 19:12:05

标签: python json numbers extract

我想从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对象无法解码。

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

1 个答案:

答案 0 :(得分:0)

首先,我建议您研究内置的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]