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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM