zoukankan      html  css  js  c++  java
  • python解析json

    '''写了个解析json的小函数
    此函数用来遍历json串里边的每个key和alue
    如果value仍然是json的话,会继续对其进行遍历,并且增加层深,便于展示
    试用了递归的形式实现这个函数
     
    输出结果如下:
    '''
    #!coding:utf-8
    #导入json模块,你也可以用simplejson,一个第三模块,比较好用
    import json
    #定义一个dict对象,并有些value还是以json的形式出现,形式如下
    adict={"xiaoqiangk":"xiaoqiangv","xiaofeik":"xiaofeiv","xiaofeis":{"xiaofeifk":"xiaofeifv","xiaofeimk":{"xiaoqik":"xiaoqiv","xiaogou":{"xiaolei":"xiaolei"}}},"xiaoer":{"xiaoyuk":"xiaoyuv"}}
    #定义一个函数,用来处理json,传入json1对象,层深初始为0,对其进行遍历
    def hJson(json1,i=0):
    #判断传入的是否是json对象,不是json对象就返回异常
      if(isinstance(json1,dict)):
    #遍历json1对象里边的每个元素
          for item in json1:
    #如果item对应的value还是json对象,就调用这个函数进行递归,并且层深i加1,如果不是,直接z在else处进行打印
              if (isinstance(json1[item],dict)):
    #打印item和其对应的value
                  print("****"*i+"%s : %s"%(item,json1[item]))
    #调用函数进行递归,i加1
                  hJson(json1[item],i=i+1)
              else:
    #打印
                  print("****"*i+"%s : %s"%(item,json1[item]))
    #程序入口,对adict进行处理,第二个参数可以不传
      
      
        esle:
            print("json1  is not josn object!")
      
      
      
    hJson(adict,0)
  • 相关阅读:
    安装Kudu
    flume+kafka+spark streaming整合
    安装Kafka
    DataFrame格式化
    RDD/Dataset/DataFrame互转
    多个jar包合并成一个jar包的办法
    flume使用示例
    ecplise + hadoop 调试环境搭建
    web.xml文件加载顺序
    Web.xml配置参数详解
  • 原文地址:https://www.cnblogs.com/liuweiqiang/p/3660320.html
Copyright © 2011-2022 走看看