我正在使用simplejson
try:
import json
except ImportError:
import simplejson as json
def query_reviews (query):
url = "http://......."
response = urllib2.urlopen(url)
values=json.loads(response)
现在我想从输出中取出特定值。
那我怎么能这样做?我已经搜索了很多,但没有解决我的问题。请帮助我。
答案 0 :(得分:0)
这取决于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()
如果是字典使用 值['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()
答案 1 :(得分:0)
我完全依赖于您加载的JSON。如果它是一个字典,则将该值导入Python字典。
# JSON is {"game": "pacman", "year": 1988, "highscore": 123456}
print values['highscore']
如果你有一个复杂的层次结构,那将是一个dicts的词典。
# 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']
答案 2 :(得分:0)
其他答案都很好;
可能有所帮助pprint.pprint(values) # after 'import pprint'
...这将显示您获得的数据是什么样的。