python json取值_Python接口自动化(一)---json数据类型取值

d= {key1: value1, key2: value2}

我们举一个例子

>>> d = {"name":"XiaoMing","age":"15","sexy":"man"}

>>> d["name"]

'XiaoMing'

四,答案解析

那么,分析完以上信息,就可以开始我们取值了,相信你看到这里,就会感觉,无论多少数据,取值会很简单的

1,status

取第一个值:status,它就在字典里面第一个,所以很好取值,就是

>>> r["status"]

'OK'

2,city_name = 上海

取第二个值:city_name为上海,这里面有点绕,dict+list+dict,其实这样分析出来就很简单了,那么我们就开始一步步分析吧

上海在weather里面,所以我们取值

r["weather"]

[{'now': {'text': '阴', 'code': '9'}, 'city_name': '上海', 'future': [{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]}, ('NanChang', 'ChangSha', 'HangZhou'), ('ShangHai', 'BeiJing', 'ShenZhen')]

city_name在list里面的第一个dict里面,所以我们取值

>>> r["weather"][0]

{'now': {'text': '阴', 'code': '9'}, 'city_name': '上海', 'future': [{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]}

上海在dict的city_name里面,所以就很简单的三步取值取出来的

>>> r["weather"][0]["city_name"]

'上海'

3,date = 2017-05-13

现在取第三个值date为2017-05-13,这个其实就是比上面的多了两步,多了一个list和一个dict,我就直接写答案了

>>> r["weather"][0]["future"][1]["date"]

'2017-05-13'

4,ChangSha 和 ShenZhen的取值

现在取第四个值,元组里面的"ChangSha"

"ChangSha"在元组里面,这个元组在list里面,所以,我们先要获取到该元组

r["weather"][1]

('NanChang', 'ChangSha', 'HangZhou')

在下一步

r["weather"][1][1]

'ChangSha'

同理,list里面的"ShenZhen"的值就会变得很简单了,我就直接写答案了

>>> r["weather"][2][2]

'ShenZhen'

解析数据其实很简单,只要有点基础,就可以解析,只不过第二个值会有点绕,dict+list+dict+list,经过一分析,就会发现,其实不会太难,一步一步慢慢分析,做测试不是会去找bug,也要去分析原因,你会事半功倍的。

最后附上所有的代码

r = {

"status": "OK",

"weather": [

{

"city_name": "上海",

"now": {

"text": "阴",

"code": "9"

},

"future": [

{

"date": "2017-05-12",

"high": "22"

},

{

"date": "2017-05-13",

"high": "30"

}

]

},

("NanChang","ChangSha","HangZhou"),

("ShangHai","BeiJing","ShenZhen")

]

}

>>> r["status"]

'OK'

>>> r["weather"]

[{'now': {'text': '阴', 'code': '9'}, 'city_name': '上海', 'future': [{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]}, ('NanChang', 'ChangSha', 'HangZhou'), ('ShangHai', 'BeiJing', 'ShenZhen')]

>>> r["weather"][0]

{'now': {'text': '阴', 'code': '9'}, 'city_name': '上海', 'future': [{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]}

>>> r["weather"][0]["city_name"]

'上海'

>>> r["weather"][0]

{'now': {'text': '阴', 'code': '9'}, 'city_name': '上海', 'future': [{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]}

>>> r["weather"][0]["future"]

[{'high': '22', 'date': '2017-05-12'}, {'high': '30', 'date': '2017-05-13'}]

>>> r["weather"][0]["future"][1]["date"]

'2017-05-13'

>>> r["weather"][1][1]

'ChangSha'

>>> r["weather"][2][2]

'ShenZhen'

禁止转载以及商业用途,仅作为学习资料,违者必究

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值