[英]How to extract single value from json?
我正在使用simplejson
try:
import json
except ImportError:
import simplejson as json
def query_reviews (query):
url = "http://......."
response = urllib2.urlopen(url)
values=json.loads(response)
现在我想从输出中取出特定的值。
那我该怎么办呢? 我已经进行了很多搜索,但仍未解决问题。请帮助我。
这取决于json格式
如果它是一个数组,这将工作
try:
import json
import urllib2
except ImportError:
import simplejson as json
def query_reviews ():
url = "https://raw.githubusercontent.com/twitter/typeahead.js/gh-pages/data/countries.json"
response = urllib2.urlopen(url)
values=json.loads(response.read())
needle = 'Yemen'
for value in values:
if value == needle:
print 'Found it!'
print value
query_reviews()
如果是字典,请使用values ['key'],如下所示:
try:
import json
import urllib2
except ImportError:
import simplejson as json
def query_reviews ():
url = "https://raw.githubusercontent.com/Bitergia/apache-cloudstack-dashboard/master/data/json/-its-dom-top-closers.json"
response = urllib2.urlopen(url)
values=json.loads(response.read())
print values['id']
query_reviews()
我完全取决于您加载的JSON。 如果是字典,则将值导入到Python字典中。
# JSON is {"game": "pacman", "year": 1988, "highscore": 123456}
print values['highscore']
如果您具有复杂的层次结构,那将是一个命令。
# JSON is {"games": {"pacman": {"year": 1988, "highscore": 123456}},
# {"defender": {"highscore": 345798, "year": 1983}}, ...
print values['games']['pacman']['highscore']
如果涉及列表,则只需索引。
# JSON is [ {"game": "pacman", "year": 1988, "highscore": 123456},
# {"game:" "defender", "highscore": 345678", "year": 1983}, ...
print values[0]['highscore']
其他答案很好。 它可能有助于开始
pprint.pprint(values) # after 'import pprint'
...,这将向您显示所获取的数据是什么样的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.