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

Python?json模塊常用方法小結(jié)

 更新時間:2023年03月22日 09:25:56   作者:Itmastergo  
本文主要介紹了Python?json模塊常用方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,遵循歐洲計算機(jī)協(xié)會制定的 JavaScript 規(guī)范(簡稱 ECMAScript)。

JSON 易于人閱讀和編寫,同時也易于機(jī)器解析和生成,能夠有效的提升網(wǎng)信息的傳輸效率,因此它常被作為網(wǎng)絡(luò)、程序之間傳遞信息的標(biāo)準(zhǔn)語言,比如客戶端與服務(wù)器之間信息交互就是以 JSON 格式傳遞的。

簡單地說,JSON 可以將 JavaScript 對象表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串格式,以便于在網(wǎng)絡(luò)、程序間傳輸這個字符串。并且在需要的時候,還可以將它轉(zhuǎn)換為編程語言所支持的數(shù)據(jù)格式。本節(jié)主要介紹如何實(shí)現(xiàn) JSON 數(shù)據(jù)與 Python 數(shù)據(jù)類型間的相互轉(zhuǎn)換。

Python 語言內(nèi)置了專門處理 JOSN 數(shù)據(jù)的模塊 —— jons 模塊,通過該模塊就可以完成 JSON 與 Python 兩種數(shù)據(jù)格式的相互轉(zhuǎn)換。

jons.loads()

該方法可以將 json 格式的字符串轉(zhuǎn)換成 Python 對象(比如列表、字典、元組、整型以及浮點(diǎn)型),其中最常用的是轉(zhuǎn)換為字典類型。示例如下:

# coding:utf8
import json
#JOSN字符串
website_info='{"name" : "CSDN","PV" : "2000萬","UV" : "800萬","create_time" : "1999年"}'
py_dict=json.loads(website_info)
print("python字典數(shù)據(jù)格式:%s;數(shù)據(jù)類型:%s"% (py_dict,type(py_dict)))

輸出結(jié)果:

python字典數(shù)據(jù)格式:{'name': 'CSDN', 'PV': '2000萬', 'UV': '800萬', 'create_time': '1999年'};數(shù)據(jù)類型:<class 'dict'>

注意:上述示例中 JSON 字符串看上去和 Python 字典非常相似,但是其本質(zhì)不同,JOSN 是字符串類型,而 Python 字典是 dict 類型。

json.dump()

它可以將 Python 對象(字典、列表等)轉(zhuǎn)換為 json 字符串,并將轉(zhuǎn)換后的數(shù)據(jù)寫入到 json 格式的文件中 ,因此該方法必須操作文件流對象。比如當(dāng)使用爬蟲程序完成數(shù)據(jù)抓取后,有時需要將數(shù)據(jù)保存為 json 格式,此時就用到了 json.dump() 方法,語法格式如下:

json.dump(object,f,inden=0,ensure_ascii=False)

參數(shù)說明如下:

  • object:Python 數(shù)據(jù)對象,比如字典,列表等
  • f:文件流對象,即文件句柄。
  • indent:格式化存儲數(shù)據(jù),使 JSON 字符串更易閱讀。
  • ensure_ascii:是否使用 ascii 編碼,當(dāng)數(shù)據(jù)中出現(xiàn)中文的時候,需要將其設(shè)置為 False。

示例示例如下:

import json
ditc_info={"name" : "CSDN","PV" : "2000萬","UV" : "800萬","create_time" : "1999年"}
with open("web.josn","a") as f:
    json.dump(ditc_info,f,ensure_ascii=False)

打開 web.json 文件,其內(nèi)容如下所示:

{
"name": "CSDN",
"PV": "2000萬",
"UV": "800萬",
"create_time": "1999年"
}

您也可以將 Python 列表轉(zhuǎn)換成 JSON 字符串,并保存至 json 文件中,如下所示:

import json
item_list = []
item = {'website': 'CSDN', 'url': "www.CSDN.net"}
for k,v in item.items():
    item_list.append(v)
with open('info_web.json', 'a') as f:
    json.dump(item_list, f, ensure_ascii=False)

打開 info_web.json 文件,其內(nèi)容如下:

["CSDN", "www.CSDN.net"]

json.load()

該方法用于操作文件流對象,不過它與 dump() 恰好相反,它表示從  json 文件中讀取 JSON 字符串,并將讀取內(nèi)容轉(zhuǎn)換為 Python 對象。使用示例如下:

import json
site = {'name':'CSDN',"url":"www.CSDN.net"}
filename = 'website.json'
with open (filename,'w') as f:
    json.dump(site,f,ensure_ascii=False)
with open (filename,'r') as f:
    print(json.load(f))

輸出結(jié)果如下:

{'name': 'CSDN', 'url': 'www.CSDN.net'}

json.dumps()

該方法可以將 Python 對象轉(zhuǎn)換成 JSON 字符串。示例如下:

import json
#python字典
item = {'website': 'CSDN', 'rank': 1}
# json.dumps之后
item = json.dumps(item,ensure_ascii=False)
print('轉(zhuǎn)換之后的數(shù)據(jù)類型為:',type(item))
print(item)

輸出結(jié)果如下:

轉(zhuǎn)換之后的數(shù)據(jù)類型為: <class 'str'>
{"website": "CSDN", "url": "www.CSDN.net"}

最后對上述方法做簡單地總結(jié),如下表所示:

JSON方法總結(jié)

方法作用
json.dumps()將 Python 對象轉(zhuǎn)換成 JSON 字符串。
json.loads()將 JSON 字符串轉(zhuǎn)換成 Python 對象。
json.dump()將 Python 中的對象轉(zhuǎn)化成 JSON 字符串儲存到文件中。
json.load()將文件中的 JSON 字符串轉(zhuǎn)化成 Python 對象提取出來。

綜上所述 json.load() 與 json.dump() 操作的是文件流對象,實(shí)現(xiàn)了 json 文件的讀寫操作,而 json.loads() 與 json.dumps() 操作的是 Python 對象或者 JOSN 字符串。

到此這篇關(guān)于Python json模塊常用方法小結(jié)的文章就介紹到這了,更多相關(guān)Python json模塊常用方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實(shí)現(xiàn)飛機(jī)大戰(zhàn)(面向過程)

    python實(shí)現(xiàn)飛機(jī)大戰(zhàn)(面向過程)

    這篇文章主要為大家詳細(xì)介紹了python面向過程實(shí)現(xiàn)飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • python先序遍歷二叉樹問題

    python先序遍歷二叉樹問題

    這篇文章主要介紹了python先序遍歷二叉樹問題,簡單分析了問題,然后向大家分享了代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • python第三方包安裝路徑site-packages下.libs作用詳解

    python第三方包安裝路徑site-packages下.libs作用詳解

    這篇文章主要為大家介紹了python?第三方包安裝路徑?site-packages?下面的以?.libs?結(jié)尾的路徑作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • python畫圖系列之個性化顯示x軸區(qū)段文字的實(shí)例

    python畫圖系列之個性化顯示x軸區(qū)段文字的實(shí)例

    今天小編就為大家分享一篇python畫圖系列之個性化顯示x軸區(qū)段文字的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • django跳轉(zhuǎn)頁面?zhèn)鲄⒌膶?shí)現(xiàn)

    django跳轉(zhuǎn)頁面?zhèn)鲄⒌膶?shí)現(xiàn)

    這篇文章主要介紹了django跳轉(zhuǎn)頁面?zhèn)鲄⒌膶?shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python 利用pyttsx3文字轉(zhuǎn)語音過程詳解

    python 利用pyttsx3文字轉(zhuǎn)語音過程詳解

    這篇文章主要介紹了python 利用pyttsx3文字轉(zhuǎn)語音過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Transpose 數(shù)組行列轉(zhuǎn)置的限制方式

    Transpose 數(shù)組行列轉(zhuǎn)置的限制方式

    今天小編就為大家分享一篇Transpose 數(shù)組行列轉(zhuǎn)置的限制方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 跟老齊學(xué)Python之啰嗦的除法

    跟老齊學(xué)Python之啰嗦的除法

    python 除法運(yùn)算 比較奇怪,和別的程序語言不大一樣。從Python2.2開始,除法運(yùn)算符除了/之外,又引入了一個除法運(yùn)算符://,后一種運(yùn)算符只用于進(jìn)行整除法。對于除法運(yùn)算符/,默認(rèn)時的行為跟Python2.2之前的一樣,它視操作數(shù)而定,既可以進(jìn)行整除,也可以進(jìn)行真除法。
    2014-09-09
  • Python 類中引用其他類的實(shí)現(xiàn)示例

    Python 類中引用其他類的實(shí)現(xiàn)示例

    在Python中,類的引用是通過屬性或方法與其他類實(shí)例關(guān)聯(lián),實(shí)現(xiàn)復(fù)雜邏輯,本文介紹了關(guān)聯(lián)、組合等類之間的引用方式,具有一定的參考價值,感興趣的可以了解一下
    2024-09-09
  • python輸入多行的方法總結(jié)

    python輸入多行的方法總結(jié)

    Python中的Input()函數(shù)在輸入時,遇到回車符,那么一次輸入就結(jié)束了,這不能滿足輸入多行文本并且行數(shù)也不確定的情形,當(dāng)然輸入空行也是允許的,本文給大家總結(jié)了python輸入多行的方法,需要的朋友可以參考下
    2024-04-04

最新評論

和政县| 定日县| 通州区| 抚远县| 尚志市| 鲁山县| 安多县| 耒阳市| 平湖市| 肃宁县| 莆田市| 乌拉特中旗| 博兴县| 区。| 陇西县| 长阳| 化德县| 北碚区| 舞阳县| 银川市| 晋江市| 浑源县| 酒泉市| 永福县| 台南市| 连山| 南安市| 扬中市| 龙游县| 枝江市| 泽州县| 灵璧县| 天峻县| 乌什县| 松桃| 祁阳县| 新丰县| 郯城县| 神农架林区| 长沙市| 鹤庆县|