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

Python3 json模塊之編碼解碼方法講解

 更新時(shí)間:2021年04月03日 13:54:13   投稿:WDC  
這篇文章主要介紹了Python3 json模塊之編碼解碼方法講解,需要的朋友可以參考下

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

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

dumps、dump、loads、load

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

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

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

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

dumps編碼

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

編碼字典

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

示例結(jié)果:

{"www": 1, "jb51.net": 2, "Python3": 3}

編碼列表

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

示例結(jié)果:

[100, "Python3", {"www": 1, "jb51.net": 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, 'jb51.net': 2, 'Python3': 3}, True]
jdata = json.dumps(ldata, sort_keys=True, indent=4)
print(jdata)

示例結(jié)果:

[
 "Python3",
 100,
 {
  "Python3": 3,
  "jb51.net": 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原始類型向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ì)象 類型。當(dāng)然 loads 只完成了反序列化, load 只接收文件描述符,完成讀取文件和反序列化。

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

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

示例結(jié)果:

<class 'list'>

['Python3', 100, {'Python3': 3, 'jb51.net': 2, 'www': 1}, True]

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

總結(jié)

Python3中的json解析和編碼模塊json使用起來(lái)非常簡(jiǎn)單, 功能也非常齊全,完全能夠滿足我們?nèi)粘5男枨蟆8嚓P(guān)于Python json模塊解析和編碼的文章請(qǐng)點(diǎn)擊下面的相關(guān)鏈接

相關(guān)文章

  • pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常

    pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常

    這篇文章主要為大家介紹了一個(gè)關(guān)于pyinstaller的?pathex?參數(shù)所引發(fā)的打包執(zhí)行報(bào)no?module?name的異常錯(cuò)誤解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python3獲取電腦IP、主機(jī)名、Mac地址的方法示例

    Python3獲取電腦IP、主機(jī)名、Mac地址的方法示例

    這篇文章主要介紹了Python3獲取電腦IP、主機(jī)名、Mac地址的方法,結(jié)合具體實(shí)例形式分析了Python3基于socket與uuid模塊針對(duì)電腦的IP、主機(jī)名、Mac地址等信息的讀取操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-04-04
  • python實(shí)現(xiàn)圖片九宮格分割的示例

    python實(shí)現(xiàn)圖片九宮格分割的示例

    這篇文章主要介紹了python實(shí)現(xiàn)圖片九宮格分割的示例,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
    2021-04-04
  • python中使用序列的方法

    python中使用序列的方法

    這篇文章主要介紹了python中使用序列的方法,較為詳細(xì)的分析了Python序列的原理與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • 詳解flask表單提交的兩種方式

    詳解flask表單提交的兩種方式

    這篇文章主要介紹了詳解flask表單提交的兩種方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • PyTorch詳解經(jīng)典網(wǎng)絡(luò)ResNet實(shí)現(xiàn)流程

    PyTorch詳解經(jīng)典網(wǎng)絡(luò)ResNet實(shí)現(xiàn)流程

    ResNet全稱residual neural network,主要是解決過(guò)深的網(wǎng)絡(luò)帶來(lái)的梯度彌散,梯度爆炸,網(wǎng)絡(luò)退化(即網(wǎng)絡(luò)層數(shù)越深時(shí),在數(shù)據(jù)集上表現(xiàn)的性能卻越差)的問(wèn)題
    2022-05-05
  • 詳解django2中關(guān)于時(shí)間處理策略

    詳解django2中關(guān)于時(shí)間處理策略

    這篇文章主要介紹了詳解django2中關(guān)于時(shí)間處理策略,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • 如何基于Python實(shí)現(xiàn)一個(gè)慶祝國(guó)慶節(jié)的小程序

    如何基于Python實(shí)現(xiàn)一個(gè)慶祝國(guó)慶節(jié)的小程序

    這篇文章主要介紹了如何基于Python實(shí)現(xiàn)一個(gè)慶祝國(guó)慶節(jié)的小程序,增加了互動(dòng)選擇祝福語(yǔ)、查詢信息、播放背景音樂(lè)及趣味小測(cè)驗(yàn)等功能,使用tkinter增強(qiáng)GUI,提升用戶互動(dòng)體驗(yàn),需要的朋友可以參考下
    2024-09-09
  • 使用Mac時(shí)psycopg2導(dǎo)入PyCharm失敗的解決

    使用Mac時(shí)psycopg2導(dǎo)入PyCharm失敗的解決

    這篇文章主要介紹了使用Mac時(shí)psycopg2導(dǎo)入PyCharm失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 淺談PyTorch的可重復(fù)性問(wèn)題(如何使實(shí)驗(yàn)結(jié)果可復(fù)現(xiàn))

    淺談PyTorch的可重復(fù)性問(wèn)題(如何使實(shí)驗(yàn)結(jié)果可復(fù)現(xiàn))

    今天小編就為大家分享一篇淺談PyTorch的可重復(fù)性問(wèn)題(如何使實(shí)驗(yàn)結(jié)果可復(fù)現(xiàn)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02

最新評(píng)論