欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python解析JSON數據的基本方法實例代碼

 更新時間:2022年01月28日 09:08:48   作者:來路與歸途  
JSON (JavaScript Object Notation) 是一種輕量級的數據交換格式,下面這篇文章主要給大家介紹了關于Python解析JSON數據的基本方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

一、JSON數據格式介紹 

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。

JSON建構于兩種結構:json是Javascript中的對象和數組中的對象,本質上來講就是有特定結構的字符串,所以可以通過這兩種結構可以表示各種復雜的結構: 

1 對象: 對象在js中表示為”{}”括起來的內容,數據結構為{key:value, key:value…}的鍵值對結構,在面向對象的語言中,key為對象的屬性,value為對應屬性的值,所以很容易去理解。屬性值value可以為:數字、字符串、數組、對象等。 

2 數組:數組在js中是中括號“[]”括起來的內容,數據結構為[“java”, “javascript”, “vb”….] 取值方式和所有語言一樣,使用索引獲取,字段值的類型是:數字、字符串、數組、對象等 

簡單地說,JSON 可以將 JavaScript 對象中表示的一組數據轉換為字符串,然后就可以在函數之間輕松地傳遞這個字符串,或者在異步應用程序中將字符串從 Web 客戶機傳遞給服務器端程序。這個字符串看起來有點兒古怪,但是 JavaScript 很容易解釋它,而且 JSON 可以表示比”名稱 / 值對”更復雜的結構。例如,可以表示數組和復雜的對象,而不僅僅是鍵和值的簡單列表。 

按照最簡單的形式,可以用下面這樣的 JSON 表示 “名稱 / 值對” :{ “firstName”: “Brett” } 

當需要表示一組值時,JSON 不但能夠提高可讀性,而且可以減少復雜性。 

如:

? ? ?{undefined
? ? ? ? "people":[
? ? ? ? ?{"firstName": "111", ....},
? ? ? ? ?{"firstName": "222",...},
? ? ? ? ?{"firstName": "333",...}
? ? ?]}

二、Python處理JSON數據

Python的json模塊提供了一種很簡單的方式來編碼和解碼JSON數據。 其中兩個主要的函數是 json.dumps() 和 json.loads() 

import json
 
data={"name":"sunxiaomin","sex":"男","年齡":"26"}
#將python字典類型變成json數據格式
json_str=json.dumps(data)
print(json_str)
print(type(json_str))
#將JSON數據解碼為dict(字典)
data1=json.loads(json_str)
print(data1)
print(type(data1))

輸出結果:

{"name": "sunxiaomin", "sex": "\u7537", "\u5e74\u9f84": "26"}
<class 'str'>
{'name': 'sunxiaomin', 'sex': '男', '年齡': '26'}
<class 'dict'>

函數詳解

使用 JSON 函數需要導入 json 庫:import json。

函數描述
json.dumps將 Python 對象編碼成 JSON 字符串
json.loads將已編碼的 JSON 字符串解碼為 Python 對象

json.dumps

json.dumps 用于將 Python 對象編碼成 JSON 字符串。

語法

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)

1) skipkeys:布爾型,默認為False,如果設為True的話,在dict中的key值如果出現非 (str, unicode, int, long, float, bool, None)對象,則跳過該key而不是拋出 ValueError。

2) indent:非負整數,表示編碼后的字符串的縮進方式,默認為None表示無縮進,一般設為4,如果設為0則只會添加換行符。

    indent參數根據數據格式縮進顯示,讀起來更加清晰, indent的值,代表縮進空格式:

3) separators:元組,默認為None,如果設置的話,一般設為(’,’,’:’),表示把’,’和‘:’后面的空格去掉,用來精簡輸出字符串。

     separators參數的作用是去掉‘,’ ‘:’后面的空格,在傳輸數據的過程中,越精簡越好,冗余的東西全部去掉。

4) sort_keys: 布爾型,默認為False,如果設為True,則輸出的dict會按照key值排序。

    sort_keys是告訴編碼器按照字典key排序(a到z)輸出

5) 輸出真正的中文需要指定ensure_ascii=False

如果無任何配置,或者說使用默認配置,

輸出的會是‘涼涼’的ASCII字符嗎,而不是真正的中文。

這是因為json.dumps 序列化時對中文默認使用的ascii編碼。

json.loads 語法

json.loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

Python 編碼為 JSON 類型轉換對應表:

PythonJSON
dictobject
list, tuplearray
strstring
int, float, int- & float-derived Enumsnumber
Truetrue
Falsefalse
Nonenull

JSON 解碼為 Python 類型轉換對應表:

JSONPython
objectdict
arraylist
stringstr
number (int)int
number (real)float
trueTrue
falseFalse
nullNone

總結

到此這篇關于Python解析JSON數據的基本方法的文章就介紹到這了,更多相關Python解析JSON數據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺談python中的getattr函數 hasattr函數

    淺談python中的getattr函數 hasattr函數

    下面小編就為大家?guī)硪黄獪\談python中的getattr函數 hasattr函數。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Python處理數據之匹配兩個Excel文件數據的實現方法

    Python處理數據之匹配兩個Excel文件數據的實現方法

    這篇文章主要給大家介紹了關于Python處理數據之匹配兩個Excel文件數據的實現方法,可以使用Python的Pandas庫來實現兩層循環(huán)匹配兩個Excel文件,需要的朋友可以參考下
    2023-09-09
  • tensorflow 加載部分變量的實例講解

    tensorflow 加載部分變量的實例講解

    今天小編就為大家分享一篇tensorflow 加載部分變量的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • centos 自動運行python腳本和配置 Python 定時任務

    centos 自動運行python腳本和配置 Python 定時任務

    這篇文章主要介紹了centos 自動運行python腳本和配置 Python 定時任務,文章內容介紹詳細,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-03-03
  • Python可變參數*args和**kwargs

    Python可變參數*args和**kwargs

    本文我們將通過示例了解 Python函數的可變參數*args和?**kwargs的用法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python使用openpyxl模塊處理Excel文件

    Python使用openpyxl模塊處理Excel文件

    這篇文章介紹了Python使用openpyxl模塊處理Excel文件的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • python接入支付寶的實例操作

    python接入支付寶的實例操作

    在本篇文章里小編給大家整理的是一篇關于python接入支付寶的實例操作內容,需要的朋友們可以學習下。
    2020-07-07
  • Python?sns.distplot()方法的使用方法

    Python?sns.distplot()方法的使用方法

    機器學習中經常會用到圖形進行可視化,如在網格搜索(GridSearch)后對特征的重要性進行排序時,用到sns.barplot()函數按照重要程度輸出特征,這篇文章主要給大家介紹了關于Python?sns.distplot()方法的使用方法,需要的朋友可以參考下
    2022-03-03
  • 解決Python正則表達式匹配反斜杠''''\''''問題

    解決Python正則表達式匹配反斜杠''''\''''問題

    這篇文章主要介紹了Python正則表達式匹配反斜杠'\'問題 ,很多朋友在使用python 正則式的過程中,經常被這個問題困擾,今天小編通過代碼給大家詳細介紹,需要的朋友可以參考下
    2019-07-07
  • keras 讀取多標簽圖像數據方式

    keras 讀取多標簽圖像數據方式

    這篇文章主要介紹了keras 讀取多標簽圖像數據方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論