如何用python读取json里面的值啊

数据如下,我想要读取name、location里面的lat和lng,还有address,弄了半天也不用,用了json.loads也是报keyerror,{
"status":0,
"message":"ok",
"results":[
{
"name":"公园",
"location":{
"lat":39.498402,
"lng":116.007069
},
"address":"xx多少路",
"street_id":"32541349605e7ae96ca3cc1e",
"detail":1,
"uid":"32541349605e7ae96ca3cc1e"
}
]
}

1、首先需要在桌面新建‘json.txt’文件,内容为jsonline格式。

2、打开Python开发工具IDLE,新建‘json.py’文件,并按照如图所示书写代码。

3、F5运行程序,Shell打印出json文本信息。

4、这是一次性读取所有内容,如果文件很大的情况,出于性能考虑要分批读取内容,这样要用到yield生成器,改写lines()函数如下,注意yield一定要写在with里,这样才能每次从上一次读取的位置继续读取。

5、继续写程序入口函数,这里要注意readlines返回的是一个列表,要读取里面的内容,要再做一个循环来遍历。

6、F5运行程序,Shell打印出json文本信息,这个利用生成器方式读取的方式经常处理较大的文件。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-01
import json
a = '{"status":0,"message":"ok","results":[{"name":"park","location":{"lat":39.498402,"lng":116.007069},"address":"xx road","street_id":"32541349605e7ae96ca3cc1e","detail":1,"uid":"32541349605e7ae96ca3cc1e"}]}'
jsonData = json.loads(a)
print jsonData
print jsonData['results'][0]['location']['lat']
print jsonData['results'][0]['location']['lng']
print jsonData['results'][0]['address']

本回答被提问者和网友采纳
相似回答