人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Python3內(nèi)置json模塊編碼解碼方法詳解

發(fā)布日期:2021-12-28 12:46 | 文章來(lái)源:腳本之家

JSON簡(jiǎn)介

JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,它基于ECMAScript的一個(gè)子集。 JSON采用完全獨(dú)立于語(yǔ)言的文本格式,這些特性使JSON成為理想的數(shù)據(jù)交換格式,易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成,在接口數(shù)據(jù)開(kāi)發(fā)和傳輸中非常常用。

Python3中我們利用內(nèi)置模塊json解碼和編碼JSON對(duì)象。json模塊提供了四個(gè)功能:dumps、dump、loads、load

dumps 把數(shù)據(jù)類(lèi)型轉(zhuǎn)換成字符串 

dump  把數(shù)據(jù)類(lèi)型轉(zhuǎn)換成字符串并存儲(chǔ)在文件中

loads 把字符串轉(zhuǎn)換成數(shù)據(jù)類(lèi)型  

load  把文件打開(kāi)從字符串轉(zhuǎn)換成數(shù)據(jù)類(lèi)型

dumps編碼

我們利用 dumps 將Python對(duì)象編碼為 JSON對(duì)象 ,當(dāng)然 dumps 只完成了序列化為str,而 dump 必須傳文件描述符,將序列化的str保存到文件中。

編碼字典

import json 
odata = {'www': 1, 'pythontab.com': 2, 'Python3': 3}
jdata = json.dumps(odata)
print(jdata)

示例結(jié)果:

{"www": 1, "pythontab.com": 2, "Python3": 3}

編碼列表

import json 
ldata = [100, 'Python2', {'www': 1, 'pythontab.com': 2, 'Python3': 3}]
jdata = json.dumps(ldata)
print(jdata)

示例結(jié)果:

[100, "Python3", {"www": 1, "pythontab.com": 2, "Python3": 3}]

編碼字符串

import json 
sdata = 'Python3'
jdata = json.dumps(sdata)
print(jdata)

示例結(jié)果:

"Python3"

格式化輸出JSON

將下面的數(shù)組,轉(zhuǎn)化為標(biāo)準(zhǔn)的json格式

import json 
ldata = ['Python3', 100, {'www': 1, 'pythontab.com': 2, 'Python3': 3}, True]
jdata = json.dumps(ldata, sort_keys=True, indent=4)
print(jdata)

示例結(jié)果:

[
 "Python3",
 100,
 {
  "Python3": 3,
  "pythontab.com": 2,
  "www": 1
 },
 true
]

參數(shù)解析: 

sort_keys=True 那么字典的輸出會(huì)以鍵的順序排序

indent=4 表示縮進(jìn)為4,如果 indent 是一個(gè)非負(fù)整數(shù)或者字符串,那么 JSON 數(shù)組元素和對(duì)象成員會(huì)被美化輸出為該值指定的縮進(jìn)等級(jí)。

轉(zhuǎn)換關(guān)系對(duì)照表

下面為Python原始類(lèi)型向JSON對(duì)象的轉(zhuǎn)化對(duì)照表:

Python JSON
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null

loads解碼

我們利用 loads 用于解碼 JSON對(duì)象 。解碼結(jié)果即與之對(duì)應(yīng)的 Python對(duì)象 類(lèi)型。當(dāng)然 loads 只完成了反序列化, load 只接收文件描述符,完成讀取文件和反序列化。

比如我們用來(lái)解碼上個(gè)示例的數(shù)據(jù)

import json 
jsondata = '''
[
 "Python3",
 100,
 {
  "Python3": 3,
  "pythontab.com": 2,
  "www": 1
 },
 true
]
'''
ldata = json.loads(jsondata)
print(type(ldata))
print(ldata)

示例結(jié)果:

<class 'list'>
['Python3', 100, {'Python3': 3, 'pythontab.com': 2, 'www': 1}, True]

可以看到我們成功對(duì)上個(gè)例子中的JSON對(duì)象進(jìn)行了解碼,并且最終的解碼結(jié)果為Python列表對(duì)象類(lèi)型,符合Python對(duì)象JSON對(duì)象對(duì)照表的結(jié)果。

總結(jié)

Python3中的json解析和編碼模塊json使用起來(lái)非常簡(jiǎn)單, 功能也非常齊全,完全能夠滿(mǎn)足我們?nèi)粘5男枨蟆?/p>

好了關(guān)于Python3內(nèi)置json模塊編碼解碼方法就講到這里,更多關(guān)于Python3內(nèi)置json模塊的使用方法請(qǐng)查看下面的相關(guān)鏈接

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線(xiàn)路精選!

全天候客戶(hù)服務(wù)

7x24全年不間斷在線(xiàn)

專(zhuān)屬顧問(wèn)服務(wù)

1對(duì)1客戶(hù)咨詢(xún)顧問(wèn)

在線(xiàn)
客服

在線(xiàn)客服:7*24小時(shí)在線(xiàn)

客服
熱線(xiàn)

400-630-3752
7*24小時(shí)客服服務(wù)熱線(xiàn)

關(guān)注
微信

關(guān)注官方微信
頂部