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) #打印一下这个结果

    结果:

  • 相关阅读:
    javascript学习一
    对软件工程课程的认识
    人月神话读后感
    项目开发总结报告(GB8567——88)
    MFC双缓冲绘图
    QT连接MySQL
    [QT学习]拷贝文件
    Arduino入门笔记【1】
    《人月神话》读后感以及软件工程总结
    十天冲刺任务(第二次冲刺)
  • 原文地址:https://www.cnblogs.com/QiKa/p/13499239.html
Copyright © 2011-2022 走看看