无法在python中解析来自JSON响应的数据

时间:2017-01-02 11:48:07

标签: python json python-2.7 python-3.x

我只想创建国家/地区列表。我用restcountries API来获得这个国家。我无法解析JSON响应。因为,响应包含特殊字符。所以,我使用了JSONEncoder,我的代码如下:

import requests
import sys
import ast
import json

url = 'https://restcountries.eu/rest/v1/name/united'
r = requests.get(url)
a = r.json()

我需要像a[0]这样的结果。如果我直接打印,收到如下错误

enter image description here

b = json.JSONEncoder().encode(a)
print(b)

print(b)工作正常。但是,无法获得b[0]。我是python的新手。请帮助我如果有什么不对,抱歉我的沟通不畅。

1 个答案:

答案 0 :(得分:3)

这是做什么的?

json.JSONEncoder().encode(a)
  

返回Python数据结构的JSON字符串表示

但是你在a中有什么? JSON。您正在尝试访问作为json数组

的一部分的字典元素

你需要的只是

r = requests.get(url)
a = r.json()
print(a[0]['name'])