最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python json 遞歸打印所有json子節(jié)點(diǎn)信息的例子

 更新時(shí)間:2020年02月27日 12:01:35   作者:r77683962  
今天小編就為大家分享一篇python json 遞歸打印所有json子節(jié)點(diǎn)信息的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

我就廢話不多說(shuō)了,直接上代碼吧

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")

補(bǔ)充拓展:python求json某層節(jié)點(diǎn)的和實(shí)例

如下所示:

import json

from collections import Mapping

import json

def 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 d
elif isinstance(value, list):
if len(value) == 0:
yield pre+[key, ‘[]']
else:
for v in value:
for d in dict_generator(v, pre + [key]):
yield d
elif isinstance(value, tuple):
if len(value) == 0:
yield pre+[key, ‘()']
else:
for v in value:
for d in dict_generator(v, pre + [key]):
yield d
else:
yield pre + [key, value]
else:
yield indict

def 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_items
elif isinstance(obj, (list, tuple)):
for i, v in enumerate(obj):
found_items = recursive_findall(v, key, paths=(paths + [(‘i', i)]))
ret += found_items
else:
if key(obj):
ret.append((paths, obj))
return ret

ret_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 = 0
for 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:
  continue
ret = dict_generator(ret_dict)
print(ret)
for i in ret:
 print i[-1]

以上這篇python json 遞歸打印所有json子節(jié)點(diǎn)信息的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python函數(shù)參數(shù)中的*與**運(yùn)算符

    Python函數(shù)參數(shù)中的*與**運(yùn)算符

    這篇文章主要介紹了Python函數(shù)參數(shù)中的*與**運(yùn)算符,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 淺析python,PyCharm,Anaconda三者之間的關(guān)系

    淺析python,PyCharm,Anaconda三者之間的關(guān)系

    Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,簡(jiǎn)單來(lái)說(shuō),python就是類似于C,Java,C++等,一種編程語(yǔ)言。這篇文章主要介紹了淺析python,PyCharm,Anaconda三者之間的關(guān)系,需要的朋友可以參考下
    2019-11-11
  • Python字符串的全排列算法實(shí)例詳解

    Python字符串的全排列算法實(shí)例詳解

    這篇文章主要介紹了Python字符串的全排列算法,結(jié)合實(shí)例形式較為詳細(xì)的總結(jié)分析了Python字符串全排列的常見(jiàn)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Python字典簡(jiǎn)介以及用法詳解

    Python字典簡(jiǎn)介以及用法詳解

    字典(dictionary)是除列表意外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對(duì)象結(jié)合,字典是無(wú)序的對(duì)象集合。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過(guò)鍵來(lái)存取的,而不是通過(guò)偏移存取。
    2016-11-11
  • Python提示[Errno 32]Broken pipe導(dǎo)致線程crash錯(cuò)誤解決方法

    Python提示[Errno 32]Broken pipe導(dǎo)致線程crash錯(cuò)誤解決方法

    這篇文章主要介紹了Python提示[Errno 32]Broken pipe導(dǎo)致線程crash錯(cuò)誤解決方法,是ThreadingHTTPServer實(shí)現(xiàn)http服務(wù)中經(jīng)常會(huì)遇到的問(wèn)題,需要的朋友可以參考下
    2014-11-11
  • Python3.6實(shí)現(xiàn)帶有簡(jiǎn)單界面的有道翻譯小程序

    Python3.6實(shí)現(xiàn)帶有簡(jiǎn)單界面的有道翻譯小程序

    本文通過(guò)實(shí)例代碼給大家介紹了基于Python3.6實(shí)現(xiàn)帶有簡(jiǎn)單界面的有道翻譯小程序,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-04-04
  • pandas merge報(bào)錯(cuò)的解決方案

    pandas merge報(bào)錯(cuò)的解決方案

    這篇文章主要介紹了pandas merge報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • python 2.6.6升級(jí)到python 2.7.x版本的方法

    python 2.6.6升級(jí)到python 2.7.x版本的方法

    這篇文章主要介紹了python 2.6.6升級(jí)到python 2.7.x版本的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • 利用Python進(jìn)行數(shù)據(jù)可視化的實(shí)例代碼

    利用Python進(jìn)行數(shù)據(jù)可視化的實(shí)例代碼

    數(shù)據(jù)可視化和數(shù)據(jù)挖掘都是探索數(shù)據(jù)和分析數(shù)據(jù)的一種手段,下面這篇文章主要給大家介紹了關(guān)于如何利用Python進(jìn)行數(shù)據(jù)可視化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • 關(guān)于torch.flatten()函數(shù)及x=x.view()函數(shù)的理解

    關(guān)于torch.flatten()函數(shù)及x=x.view()函數(shù)的理解

    這篇文章主要介紹了關(guān)于torch.flatten()函數(shù)及x=x.view()函數(shù)的理解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評(píng)論

军事| 平度市| 金溪县| 九寨沟县| 柳河县| 安化县| 达尔| 桃园县| 龙井市| 闽侯县| 大冶市| 宝丰县| 涟水县| 东光县| 东乌珠穆沁旗| 鄂温| 兴山县| 泽州县| 拉萨市| 梁平县| 钟祥市| 沙河市| 翁源县| 日照市| 金秀| 迁西县| 吉首市| 浮梁县| 留坝县| 苍溪县| 吉木乃县| 桃园市| 南漳县| 边坝县| 北安市| 荔浦县| 吉木萨尔县| 鹤峰县| 秀山| 南汇区| 华容县|