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

詳細(xì)解讀Python中的json操作

 更新時(shí)間:2022年05月16日 09:49:43   作者:你若盛開(kāi)清風(fēng)自來(lái)_  
json操作是最為基本的、最為常用的,Python自帶的json模塊就可以滿(mǎn)足大部分應(yīng)用場(chǎng)景,而且使用起來(lái)極為簡(jiǎn)單,下面這篇文章主要給大家介紹了關(guān)于Python中json操作的相關(guān)資料,需要的朋友可以參考下

1.什么是Json?

JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,它是JavaScript的子集,易于人閱讀和編寫(xiě)。

前端和后端進(jìn)行數(shù)據(jù)交互,其實(shí)就是JS和Python進(jìn)行數(shù)據(jù)交互

JSON注意事項(xiàng):

(1)名稱(chēng)必須用雙引號(hào)(即:””)來(lái)包括

(2)值可以是雙引號(hào)包括的字符串、數(shù)字、true、false、null、JavaScript數(shù)組,或子對(duì)象。

2.python數(shù)據(jù)類(lèi)型與json數(shù)據(jù)類(lèi)型的映射關(guān)系

Python

JSON
dictobject
list, tuplearray
str, unicodestring
int, long, floatnumber
Truetrue
False

false

Nonenull

3. json中常用的方法

在使用json這個(gè)模塊前,首先要導(dǎo)入json庫(kù):import json

方法描述
json.dumps()將 Python 對(duì)象編碼成 JSON 字符串
json.loads()將已編碼的 JSON 字符串解碼為 Python 對(duì)象
json.dump()將Python內(nèi)置類(lèi)型序列化為json對(duì)象后寫(xiě)入文件
json.load()讀取文件中json形式的字符串元素轉(zhuǎn)化為Python類(lèi)型

 舉例:

3-1   json.dumps()

import json
 
data = {'name':'nanbei','age':18}
#將Python對(duì)象編碼成json字符串
print(json.dumps(data))

結(jié)果:

{"name": "nanbei", "age": 18}

注: 在這里我們可以看到,原先的單引號(hào)已經(jīng)變成雙引號(hào)了

3-2 json.loads()

import json
 
data = {'name':'nanbei','age':18}
#將Python對(duì)象編碼成json字符串
#print(json.dumps(data))
#將json字符串編碼成Python對(duì)象
a = json.dumps(data)
print(json.loads(a))

 結(jié)果:

{'name': 'nanbei', 'age': 18}

在這里舉個(gè)元組和列表的例子:

import json
 
data = (1,2,3,4)
data_json = [1,2,3,4]
#將Python對(duì)象編碼成json字符串
print(json.dumps(data))
print(json.dumps(data_json))
#將json字符串編碼成Python對(duì)象
a = json.dumps(data)
b = json.dumps(data_json)
print(json.loads(a))
print(json.loads(b))

 結(jié)果:

[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 3, 4]

可以看到,元組和列表解析出來(lái)的均是數(shù)組。

3-3 json.dump()

import json
 
data = {
    'nanbei':'haha',
    'a':[1,2,3,4],
    'b':(1,2,3)
}
with open('json_test.txt','w+') as f:
    json.dump(data,f)

查看結(jié)果:

3-4 json.load()

import json
 
data = {
    'nanbei':'haha',
    'a':[1,2,3,4],
    'b':(1,2,3)
}
with open('json_test.txt','w+') as f:
    json.dump(data,f)
 
with open('json_test.txt','r+') as f:
    print(json.load(f))

結(jié)果:

{'a': [1, 2, 3, 4], 'b': [1, 2, 3], 'nanbei': 'haha'}

4.參數(shù)詳解:

dump(obj,skipkeys=False, ensure_ascii=True, check_circular=True,
        allow_nan=True, cls=None, indent=None, separators=None,
        default=None, sort_keys=False, **kw):

#  函數(shù)作用:       將Python的對(duì)象轉(zhuǎn)變成JSON對(duì)象

#  skipkeys:       如果為T(mén)rue的話(huà),則只能是字典對(duì)象,否則會(huì)TypeError錯(cuò)誤, 默認(rèn)False

#  ensure_ascii:   確定是否為ASCII編碼

#  check_circular: 循環(huán)類(lèi)型檢查,如果為T(mén)rue的話(huà)

#  allow_nan:      確定是否為允許的值

#  indent:         會(huì)以美觀(guān)的方式來(lái)打印,呈現(xiàn),實(shí)現(xiàn)縮進(jìn)

#  separators:     對(duì)象分隔符,默認(rèn)為, 

#  encoding:       編碼方式,默認(rèn)為utf-8     

#  sort_keys:      如果是字典對(duì)象,選擇True的話(huà),會(huì)按照鍵的ASCII碼來(lái)排序    

對(duì)于dump來(lái)說(shuō),只是多了一個(gè)fp參數(shù)

dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True,
        allow_nan=True, cls=None, indent=None, separators=None,
        default=None, sort_keys=False, **kw)

Serialize ``obj`` as a JSON formatted stream to ``fp`` (a
``.write()``-supporting file-like object).

簡(jiǎn)單說(shuō)就是dump需要一個(gè)類(lèi)似文件指針的參數(shù)(并不是真正的指針,可以稱(chēng)之為文件對(duì)象),與文件操作相結(jié)合,即先將Python文件對(duì)象轉(zhuǎn)化為json字符串再保存在文件中。。。

總結(jié)

到此這篇關(guān)于Python中json操作的文章就介紹到這了,更多相關(guān)Python json操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pytest基本用法簡(jiǎn)介

    pytest基本用法簡(jiǎn)介

    這篇文章主要介紹了pytest基本用法簡(jiǎn)介,幫助大家更好的利用python進(jìn)行自動(dòng)化測(cè)試,感興趣的朋友可以了解下
    2021-03-03
  • Python?Matplotlib中使用plt.savefig存儲(chǔ)圖片的方法舉例

    Python?Matplotlib中使用plt.savefig存儲(chǔ)圖片的方法舉例

    pytorch下保存圖像有很多種方法,但是這些基本上都是基于圖像處理的,將圖像的像素指定一定的維度,下面這篇文章主要給大家介紹了關(guān)于Python?Matplotlib中使用plt.savefig存儲(chǔ)圖片的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • PyTorch模型容器與AlexNet構(gòu)建示例詳解

    PyTorch模型容器與AlexNet構(gòu)建示例詳解

    這篇文章主要為大家介紹了PyTorch模型容器與AlexNet構(gòu)建示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • python 讀取dicom文件,生成info.txt和raw文件的方法

    python 讀取dicom文件,生成info.txt和raw文件的方法

    今天小編就為大家分享一篇python 讀取dicom文件,生成info.txt和raw文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • flask使用session保存登錄狀態(tài)及攔截未登錄請(qǐng)求代碼

    flask使用session保存登錄狀態(tài)及攔截未登錄請(qǐng)求代碼

    這篇文章主要介紹了flask使用session保存登錄狀態(tài)及攔截未登錄請(qǐng)求代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • ChatGPT教你用Python實(shí)現(xiàn)BinarySearchTree詳解

    ChatGPT教你用Python實(shí)現(xiàn)BinarySearchTree詳解

    這篇文章主要為大家介紹了ChatGPT教你用Python實(shí)現(xiàn)BinarySearchTree詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 詳解python上傳文件和字符到PHP服務(wù)器

    詳解python上傳文件和字符到PHP服務(wù)器

    本篇內(nèi)容主要給大家介紹了在python中上傳字符或者文件到PHP服務(wù)器的相關(guān)實(shí)現(xiàn)代碼,如果你正好用得到,一起學(xué)習(xí)下。
    2017-11-11
  • Random 在 Python 中的使用方法

    Random 在 Python 中的使用方法

    random() 方法返回隨機(jī)生成的一個(gè)實(shí)數(shù),它在[0,1)范圍內(nèi)。這篇文章主要介紹了Random 在 Python 中的使用方法,需要的朋友可以參考下
    2018-08-08
  • 在python中使用[[v]*n]*n遇到的坑及解決

    在python中使用[[v]*n]*n遇到的坑及解決

    這篇文章主要介紹了在python中使用[[v]*n]*n遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python如何輸出百分比

    Python如何輸出百分比

    這篇文章主要介紹了Python 如何輸出百分比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評(píng)論