武汉白癜风研究所 http://pf.39.net/bdfyy/bdfzd/211211/10059261.html今天正好有一个之前的学生在问json解析器的算法,他的需求是给出一个任意的键,返回该键在json中对应的值。如果没有这个键,则返回空值。需求并不复杂,简单实现了一下,在此记录一下。先上代码,如下:defjson_parser(dic,_key):#先对传入的字典结构遍历键forkindic.keys():#如果当前键就是要查询的键,则加到结果中ifk==_key:result.append(dic[k])#如果当前键对应的值是个字典,则直接递归处理即可ifisinstance(dic[k],dict):json_parser(dic[k],_key)#如果当前键对应的值是个列表,则遍历列表里面的每一项#如果列表里面的也是字典,则再递归处理elifisinstance(dic[k],list):foritemindic[k]:ifisinstance(item,dict):json_parser(item,_key)逻辑比较简单。我们来随便用个json数据测试下,代码如下:result=[]myjson={code:,data:{token:22FDCBDF71FA46BE1,user_info:{user_id:1,user_code:D4C-1A45--9B8C-EAED92,user_name:admin,real_name:超管,head_pic:\/uploads\/default\/\/c4d86ef4c589ea07ecbfea10.jpg,email:qq.
转载请注明:http://www.aierlanlan.com/rzgz/6744.html