我正在使用Python解析英国警察API。我想要的是分析我得到的JSON响应,以计算某个进攻发生的次数。这是来自API的响应示例。计算JSON元素中元素的出现次数
{
category: "anti-social-behaviour",
location_type: "Force",
location: {
latitude: "53.349920",
street: {
id: 583315,
name: "On or near Evenwood Close"
},
longitude: "-2.657889"
},
context: "",
outcome_status: null,
persistent_id: "",
id: 22687179,
location_subtype: "",
month: "2013-03"
},
使用此代码
from json import load
from urllib2 import urlopen
import json
url = "http://data.police.uk/api/crimes-street/all-crime?lat=53.396246&lng=-2.646960&date=2013-03"
json_obj = urlopen(url)
player_json_list = load(json_obj)
for player in player_json_list:
crimeCategories = json.dumps(player['category'], indent = 2, separators=(',', ': '))
print crimeCategories
我得到这样
"anti-social-behaviour"
"anti-social-behaviour"
"anti-social-behaviour"
"anti-social-behaviour"
"drugs"
"drugs"
"burglary"
的响应。如果我改变了我的for循环
for player in player_json_list:
crimeCategories = json.dumps(player['category'], indent = 2, separators=(',', ': '))
print crimeCategories.count("drugs")
然后我得到这样的回应
0
0
0
0
1
1
0
搜索论坛小时没有帮助我!有任何想法吗?
@martineau,谢谢,它看起来更好;) – 2015-03-02 21:51:26
我个人认为,使用'print(dict(c))'看起来会更好。 – martineau 2015-03-02 21:53:58
@martineau,在下面添加了pprint输出 – 2015-03-02 21:58:48