我正在制作一个程序,获取一个特定国家的所有城市,我是如何做到这一点的,就是使用一个json文件填充数据,并用python对其进行过滤。但是,我在访问对象的字符串索引时遇到了问题,并且在回溯中遇到了类型错误
我试过把它转换成一个字符串,除此之外,我真的不知道该怎么办
test = "http://battuta.medunes.net/api/city/fr/search/?region=pa&key=efb0d6bd19fb2f25dc28dccbd7805d59"
resp = requests.get(url="https://pkgstore.datahub.io/core/world-cities/world-cities_json/data/5b3dd46ad10990bca47b04b4739a02ba/world-cities_json.json").json()
data = json.dumps(resp, sort_keys=True, ensure_ascii=False, indent=4)
print(data["country"])
JSON示例:
{
"country": "Zimbabwe",
"geonameid": 1085510,
"name": "Epworth",
"subcountry": "Harare"
},
{
"country": "Zimbabwe",
"geonameid": 1106542,
"name": "Chitungwiza",
"subcountry": "Harare"
}
我希望能得到这个国家的名字。不过,我只想能够访问我的数据值
resp是对象列表,因此应首先调用索引,然后调用键: resp[索引][键]
另外,不需要第3行。您已经将resp转换为JSON
由于您已经通过调用
.json()
来转换JSON中的响应,因此无需调用json.dumps()
。 这应该起作用:json.dumps()
将resp
对象转换为str
,这就是您获得TypeError: string indices must be integers
的原因你不需要
json.dumps
,你可以这样做:但是如果您仍然需要使用
json.dumps
:相关问题 更多 >
编程相关推荐