data = {
"changeorderdetail": [
{
"reqtoken": "GS6083774234523458",
"fromstation": "平凉",
"changestatus": True,
"traintime": "2019-06-13 13:10",
"tostation": "平凉南",
"ticketstatus": [
{
"zwname": "硬座",
"price": 1,
"outticketdetail": "",
"piaotypename": "成人",
"status": "已出票",
"idtype": "1",
"zwcode": "1",
"passengersename": "苌22",
"ticket_no": "E8370396482020055",
"statusid": "6",
"idnumber": "410727124432",
"cxin": "02车厢,055号"
}
]
}
],
"fromstation": "平凉",
"Payforit": True,
"ordernumber": "E837039648",
"changetype": 1,
"checi": "6074",
"code": "100",
"msg": "查询订单成功",
"arrivetime": "2019-06-14 13:25",
"tostation": "平凉南",
"costtime": "00:15",
"ticketstatus": [
{
"zwname": "硬座",
"price": 1,
"outticketdetail": "",
"piaotypename": "成人",
"status": "已在线改签",
"idtype": "1",
"zwcode": "1",
"passengersename": "苌凯有",
"ticket_no": "E8370396481020048",
"statusid": "2",
"idnumber": "4107271423442124432",
"cxin": "02车厢,048号"
}
],
"transactionid": "T190516E26CAD690501C04DBA0BE080EA16DA1CC0AB",
"orderstatusname": "出票成功",
"orderid": "testTong51370978-f084-4411-837a-5f742926f3f8",
"traintime": "2019-06-14 13:10",
"success": True,
"cashchange": []
}
print(type(data))
print(data["changeorderdetail"][0].get("ticketstatus")[0].get("ticket_no"))
print(data["changeorderdetail"][0]["ticketstatus"][0]["ticket_no"])
print(data[“changeorderdetail”][0].get(“ticketstatus”)[0].get(“ticket_no”))
print(data[“changeorderdetail”][0][“ticketstatus”][0][“ticket_no”])
这两句的结果是一样的。
总结如下:
1)要想获取字典的某个key的值,直接通过key的名称就可以,如data[“changeorderdetail”]
2)除了通过key的名称,也可以通过: 字典名称.get(“key名称”)方式获取。
3)如上代码,表示字典中存在着列表,字典等多级嵌套,这种情况下想获得最深一级的键值,同上逐级获取就可以了。