zoukankan      html  css  js  c++  java
  • 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) #打印一下这个结果

    结果:

  • 相关阅读:
    链表问题----反转部分单向链表
    HTTP请求详解
    链表问题----删除链表的中间节点和a/b处的节点
    链表问题----删除倒数第K个节点
    栈和队列----最大值减去最小值小于等于num的子数组的数量
    栈和队列----求最大子矩阵的大小
    TCP/IP、Http、Socket的区别
    栈和队列----生成窗口的最大值数组
    linux根文件系统制作,busybox启动流程分析
    linux 内核启动流程分析,移植
  • 原文地址:https://www.cnblogs.com/QiKa/p/13499239.html
Copyright © 2011-2022 走看看