您的位置:首页 > 编程语言 > Python开发

python解析json

2014-04-12 13:28 85 查看
'''写了个解析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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: