亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁/技術文章
文章詳情頁

python json 遞歸打印所有json子節點信息的例子

瀏覽:2日期:2022-08-05 17:43:35

我就廢話不多說了,直接上代碼吧

def json_txt(self, dic_json): #self.debug_print('json_txt') if isinstance(dic_json, dict): # 判斷是否是字典類型isinstance 返回True false for key in dic_json: #dic_json = json.loads(s) s = dic_json[key] #self.debug_print(str(len(s)) + ' type:' + str(type(s))) t=str(type(s)) if t.startswith('<class ’list’>'): for i in range(0, len(s)): self.debug_print('%s %d:' % (key, i)) self.json_txt(s[i]) else: self.debug_print('%s: %s' % (key, s)) else: self.debug_print('else')

補充拓展:python求json某層節點的和實例

如下所示:

import jsonfrom collections import Mappingimport jsondef dict_generator(indict, pre=None):pre = pre[:] if pre else []if isinstance(indict, dict):for key, value in indict.items():if isinstance(value, dict):if len(value) == 0:yield pre+[key, ‘{}’]else:for d in dict_generator(value, pre + [key]):yield delif isinstance(value, list):if len(value) == 0:yield pre+[key, ‘[]’]else:for v in value:for d in dict_generator(v, pre + [key]):yield delif isinstance(value, tuple):if len(value) == 0:yield pre+[key, ‘()’]else:for v in value:for d in dict_generator(v, pre + [key]):yield delse:yield pre + [key, value]else:yield indictdef recursive_findall(obj, key, paths=None):ret = []if not paths:paths = []if isinstance(obj, Mapping):for k, v in obj.iteritems():found_items = recursive_findall(v, key, paths=(paths + [(‘k’, k)]))ret += found_itemselif isinstance(obj, (list, tuple)):for i, v in enumerate(obj):found_items = recursive_findall(v, key, paths=(paths + [(‘i’, i)]))ret += found_itemselse:if key(obj):ret.append((paths, obj))return retret_dict = {“data”:[{“email”:'',“repoCommits”:[{“branchCommitLine”:[{“submitLine”:1},{“submitLine”: 1}]},{“branchCommitLine”: [{“submitLine”: 1},{“submitLine”: 1}]}]

}, { 'email': '', 'repoCommits': [ { 'branchCommitLine': [ { 'submitLine': 1 }, { 'submitLine': 1 }]}, { 'branchCommitLine': [ { 'submitLine': 1 }, { 'submitLine': 1 }]}] } ] }

if name == ‘main’:

all_socre = 0for da in ret_dict['data']: if da.has_key('repoCommits'): for repo in da['repoCommits']: if repo.has_key('branchCommitLine'): for branch in repo['branchCommitLine']: if branch.has_key('submitLine'): all_socre += int(branch['submitLine']) else: continue else: continue else: continueret = dict_generator(ret_dict)print(ret)for i in ret: print i[-1]

以上這篇python json 遞歸打印所有json子節點信息的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美人七十二式性视频教程一 | 国内精品久久久久影院不卡 | 国产一区二区三区精品久久呦 | 色婷婷综合激情 | 91在线精品亚洲一区二区 | 俄罗斯一级成人毛片 | 欧美3p在线观看一区二区三区 | 高中生精品视频在线观看 | 你懂的免费在线视频 | 成人网址大全 | 中文字幕永久在线视频 | 国产精品第一页爽爽影院 | 国产成年人网站 | 日韩精品中文字幕一区三区 | 三级中文字幕永久在线视频 | 正在播真实出轨炮对白 | 成人性生交大片免费看软件 | 亚洲人成网站999久久久综合 | 欧美成人精品欧美一级乱黄 | 18p亚洲| 免费观看一级毛片 | 欧美a大片欧美片 | 啪啪啪毛片| 亚洲欧美国产日本 | 91精彩视频在线观看 | 国产在线看片网站 | 久久有精品 | 97久久天天综合色天天综合色hd | 美国老黑一级毛片免费的大黄 | 日本爽妇网 | 日韩在线一区二区三区视频 | 狠狠干成人 | 久久黄色大片 | 亚洲精品一区二区三区在线看 | 成人爽爽激情在线观看 | 国产一区二区三区在线看 | 久久精品区 | 欧美特级大片 | 国产成人免费观看 | 欧美一区二区高清 | 韩国福利影视一区二区三区 |