Я использую 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 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, спасибо, он выглядит лучше;) –
Лично я считаю, он выглядел бы еще лучше, используя 'print (dict (c))'. – martineau
@martineau, добавил вывод pprint ниже –