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

Python解析JSON數(shù)據(jù)的基本方法實(shí)例代碼

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

一、JSON數(shù)據(jù)格式介紹 

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

JSON建構(gòu)于兩種結(jié)構(gòu):json是Javascript中的對(duì)象和數(shù)組中的對(duì)象,本質(zhì)上來講就是有特定結(jié)構(gòu)的字符串,所以可以通過這兩種結(jié)構(gòu)可以表示各種復(fù)雜的結(jié)構(gòu): 

1 對(duì)象: 對(duì)象在js中表示為”{}”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為{key:value, key:value…}的鍵值對(duì)結(jié)構(gòu),在面向?qū)ο蟮恼Z(yǔ)言中,key為對(duì)象的屬性,value為對(duì)應(yīng)屬性的值,所以很容易去理解。屬性值value可以為:數(shù)字、字符串、數(shù)組、對(duì)象等。 

2 數(shù)組:數(shù)組在js中是中括號(hào)“[]”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為[“java”, “javascript”, “vb”….] 取值方式和所有語(yǔ)言一樣,使用索引獲取,字段值的類型是:數(shù)字、字符串、數(shù)組、對(duì)象等 

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

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

當(dāng)需要表示一組值時(shí),JSON 不但能夠提高可讀性,而且可以減少?gòu)?fù)雜性。 

如:

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

二、Python處理JSON數(shù)據(jù)

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

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

輸出結(jié)果:

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

函數(shù)詳解

使用 JSON 函數(shù)需要導(dǎo)入 json 庫(kù):import json。

函數(shù)描述
json.dumps將 Python 對(duì)象編碼成 JSON 字符串
json.loads將已編碼的 JSON 字符串解碼為 Python 對(duì)象

json.dumps

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

語(yǔ)法

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:布爾型,默認(rèn)為False,如果設(shè)為True的話,在dict中的key值如果出現(xiàn)非 (str, unicode, int, long, float, bool, None)對(duì)象,則跳過該key而不是拋出 ValueError。

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

    indent參數(shù)根據(jù)數(shù)據(jù)格式縮進(jìn)顯示,讀起來更加清晰, indent的值,代表縮進(jìn)空格式:

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

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

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

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

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

如果無任何配置,或者說使用默認(rèn)配置,

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

這是因?yàn)閖son.dumps 序列化時(shí)對(duì)中文默認(rèn)使用的ascii編碼。

json.loads 語(yǔ)法

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 類型轉(zhuǎn)換對(duì)應(yīng)表:

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

JSON 解碼為 Python 類型轉(zhuǎn)換對(duì)應(yīng)表:

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

總結(jié)

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

相關(guān)文章

  • win7 下搭建sublime的python開發(fā)環(huán)境的配置方法

    win7 下搭建sublime的python開發(fā)環(huán)境的配置方法

    Sublime Text具有漂亮的用戶界面和強(qiáng)大的功能,例如代碼縮略圖,Python的插件,代碼段等。還可自定義鍵綁定,菜單和工具欄。Sublime Text的主要功能包括:拼寫檢查,書簽,完整的 Python API,Goto功能,即時(shí)項(xiàng)目切換,多選擇,多窗口等等。
    2014-06-06
  • python開頭的coding設(shè)置方法

    python開頭的coding設(shè)置方法

    今天小編就為大家分享一篇python開頭的coding設(shè)置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python彈出輸入框并獲取輸入值的實(shí)例

    Python彈出輸入框并獲取輸入值的實(shí)例

    今天小編就為大家分享一篇Python彈出輸入框并獲取輸入值的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 基于Python實(shí)現(xiàn)原創(chuàng)程序猿乘風(fēng)破浪小游戲

    基于Python實(shí)現(xiàn)原創(chuàng)程序猿乘風(fēng)破浪小游戲

    最近學(xué)習(xí)了一丁點(diǎn)Pygame技能,感覺有點(diǎn)上頭,一波操作創(chuàng)作“程序猿乘風(fēng)破浪”游戲一款,文中的示例代碼講解詳細(xì),希望大家能夠喜歡
    2023-02-02
  • M1芯片Mac上Anaconda的暫時(shí)替代(miniforge)

    M1芯片Mac上Anaconda的暫時(shí)替代(miniforge)

    這篇文章主要介紹了M1芯片Mac上Anaconda的暫時(shí)替代(miniforge),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 對(duì)Python函數(shù)設(shè)計(jì)規(guī)范詳解

    對(duì)Python函數(shù)設(shè)計(jì)規(guī)范詳解

    今天小編就為大家分享一篇對(duì)Python函數(shù)設(shè)計(jì)規(guī)范詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python實(shí)現(xiàn)書法碑帖圖片分割

    python實(shí)現(xiàn)書法碑帖圖片分割

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)書法碑帖圖片分割,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • Python中range、np.arange和np.linspace的區(qū)別

    Python中range、np.arange和np.linspace的區(qū)別

    本文主要介紹了Python中range、np.arange和np.linspace的區(qū)別,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python判斷自身是否正在運(yùn)行的方法

    python判斷自身是否正在運(yùn)行的方法

    今天小編就為大家分享一篇python判斷自身是否正在運(yùn)行的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 如何利用AJAX獲取Django后端數(shù)據(jù)詳解

    如何利用AJAX獲取Django后端數(shù)據(jù)詳解

    ajax一個(gè)前后臺(tái)配合的技術(shù),它可以讓javascript發(fā)送http請(qǐng)求,與后臺(tái)通信,獲取數(shù)據(jù)和信息。下面這篇文章主要介紹了如何利用AJAX獲取Django后端數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2021-06-06

最新評(píng)論

正镶白旗| 华池县| 环江| 益阳市| 望奎县| 故城县| 镇远县| 甘谷县| 玉树县| 黔南| 体育| 桑植县| 吉林省| 乐至县| 剑河县| 武穴市| 北川| 定安县| 固阳县| 革吉县| 吴江市| 凤庆县| 天长市| 临澧县| 黄石市| 卢氏县| 龙游县| 五大连池市| 新邵县| 五河县| 台前县| 斗六市| 始兴县| 靖边县| 嫩江县| 柳州市| 措勤县| 余干县| 卓尼县| 新邵县| 松江区|