一般接口格式:返回的数据json字符串{"code":"0","success":true,"data":xxxxxxxxx}
但对于某些接口返回的数据较多时,
格式:字典内嵌套列表,列表内再嵌套字典
因此,对于这类的接口数据,该怎么进行简单的处理呢?比如将其以items数组形式,即key-value的形式打印出来,然后再去取想要的某一值。
例如:
data1 = { "code": "1", "success": True, "result": [ { "id": "1", "name": "qika", "code": "1", "hasLink": "0", "parentId": "0", "children": [ { "id": "2", "name": "qikala", "code": "2", "hasLink": "1", "parentId": "1", "childrenId": "1"}, { "id": "3", "name": "qikastr", "code": "3", "hasLink": "2", "parentId": "2", "childrenId": "2"} ] } ] }
处理方式:使用for循环,打印出json字符串内的items,即以key-value形式展示:
for i in data1["result"]: for key,value in i.items(): print(key, ":", value)
结果:
但是查看控制台输出,还存在一个value值为一个list形式的值。
那么比如:我要指定获取result-->children-->list内的嵌套的第一个字典内的name:qikala,该如何做呢?
print(data1["result"][0]["children"][0]["name"])
可见正确获取到了:
用for循环来遍历获取呢?
# print(data1["result"][0]["children"][0]["name"]) #指定打印出result->children->list内,嵌套的第一个字典内:name的值:qikala
#用for来遍历 for i in data1["result"][0]["children"]: for key,value in i.items(): #遍历打印出字典 if value == "qikala": #if判断一下打印出的key-value当中是否存在有value为:qikala print("结果正确") #有的话返回结果正确,当然如果没有,肯定就会报错了 print(key, ":", value) #打印一下这个结果
结果: