1. 程式人生 > 實用技巧 >py 中對介面資料的簡單分析處理

py 中對介面資料的簡單分析處理

一般介面格式:返回的資料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) #列印一下這個結果

結果: