• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質的職業教育機構

      400-811-9990
      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當前位置:合肥千鋒IT培訓  >  技術干貨  >  python解析json文件方法

      python解析json文件方法

      來源:千鋒教育
      發布人:xqq
      時間: 2023-11-09 02:29:29

      python解析json文件方法

      我們在獲取一份第三方的數據后,需要進行數據的分析,但發現它是json的文件形式并不能直接使用。這就需要用到解析的方法,我們在python中就可以完成這樣操作。下面就json說進行簡單說明,然后理清解析json文件的思路,最后把相關的解析代碼分享給大家,一起往下看具體內容。

      1.json說明

      json就是一種長得像嵌套字典的字符串。數據被“{}”和“[]”層層包裹,需要“拆包”才能拿到我們需要的數據。

      兩種結構:

      (1)“名稱/值”對的集合(Acollectionofname/valuepairs)。不同的編程語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hashtable),有鍵列表(keyedlist),或者關聯數組(associativearray)。

      (2)值的有序列表(Anorderedlistofvalues)。在大部分語言中,它被實現為數組(array),矢量(vector),列表(list),序列(sequence)。

      2.解析思路

      (1)新建兩個函數A和B。

      (2)函數A處理字典數據,被調用后,判斷傳遞的參數,如果參數為字典,則調用自身;

      (3)如果是列表或者元組,則調用列表處理函數B;

      (4)函數B處理列表,被調用后,判斷傳遞的參數,如果參數為列表或者元組,則調用自身;

      (5)如果是字典,則調用字典處理函數A。

      3.實例

      代碼中的get_target_value函數為A函數,_get_value為B函數。

      #處理嵌套json文件中指定關鍵字

      #處理字典值

      defget_target_value(key,dic,tmp_list):

      """

      :paramkey:目標key值

      :paramdic:JSON數據

      :paramtmp_list:用于存儲獲取的數據

      :return:list

      """

      ifnotisinstance(dic,dict)ornotisinstance(tmp_list,list):#對傳入數據進行格式校驗

      return'argv[1]notandictorargv[-1]notanlist'

      ifkeyindic.keys():

      tmp_list.append(dic[key])#傳入數據存在則存入tmp_list

      forvalueindic.values():#傳入數據不符合則對其value值進行遍歷

      ifisinstance(value,dict):

      get_target_value(key,value,tmp_list)#傳入數據的value值是字典,則直接調用自身

      elifisinstance(value,(list,tuple)):

      _get_value(key,value,tmp_list)#傳入數據的value值是列表或者元組,則調用_get_value

      returntmp_list

      #處理元組或列表值

      def_get_value(key,val,tmp_list):

      forval_inval:

      ifisinstance(val_,dict):

      get_target_value(key,val_,tmp_list)#傳入數據的value值是字典,則調用get_target_value

      elifisinstance(val_,(list,tuple)):

      _get_value(key,val_,tmp_list)

      以上就是python解析json文件的方法,大家可以先對解析的流程進行理解,在弄清楚基本的步驟后,就可以展開上面的解析json操作啦。更多Python學習教程請關注IT培訓機構:千鋒教育。

      聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

      猜你喜歡LIKE

      機器學習用java還是python?

      2023-11-09

      python中日期與字符串如何相互轉換?

      2023-11-09

      Python K-近鄰算法概述

      2023-11-09

      最新文章NEW

      python如何去空格和回車?

      2023-11-09

      python使用matplotlib繪圖怎么在線上標注?

      2023-11-09

      python 面向對象(OOP)的三大特征

      2023-11-09

      相關推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網友熱搜 更多>>