主頁 > 知識庫 > Python3 json模塊之編碼解碼方法講解

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

熱門標(biāo)簽:400電話申請服務(wù)商選什么 在哪里辦理400電話號碼 千陽自動(dòng)外呼系統(tǒng) 工廠智能電話機(jī)器人 西藏智能外呼系統(tǒng)五星服務(wù) 平頂山外呼系統(tǒng)免費(fèi) 清遠(yuǎn)360地圖標(biāo)注方法 江蘇客服外呼系統(tǒng)廠家 原裝電話機(jī)器人

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

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

dumpsdump、loadsload

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

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

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

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

dumps編碼

我們利用 dumps 將Python對象編碼為 JSON對象 ,當(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 那么字典的輸出會以鍵的順序排序

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

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

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

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

loads解碼

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

比如我們用來解碼上個(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]

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

總結(jié)

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

您可能感興趣的文章:
  • Python3中對json格式數(shù)據(jù)的分析處理
  • Python3自定義json逐層解析器代碼
  • python3實(shí)現(xiàn)從kafka獲取數(shù)據(jù),并解析為json格式,寫入到mysql中
  • python3 實(shí)現(xiàn)的對象與json相互轉(zhuǎn)換操作示例
  • python3 json數(shù)據(jù)格式的轉(zhuǎn)換(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互轉(zhuǎn)換)
  • Python3爬蟲爬取百姓網(wǎng)列表并保存為json功能示例【基于request、lxml和json模塊】
  • Python3實(shí)現(xiàn)將本地JSON大數(shù)據(jù)文件寫入MySQL數(shù)據(jù)庫的方法
  • Python3實(shí)現(xiàn)的字典、列表和json對象互轉(zhuǎn)功能示例
  • 解決python3 json數(shù)據(jù)包含中文的讀寫問題
  • Python3內(nèi)置json模塊編碼解碼方法詳解

標(biāo)簽:股票 安慶 錦州 白城 天水 隨州 日照 西安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python3 json模塊之編碼解碼方法講解》,本文關(guān)鍵詞  Python3,json,模塊,之,編碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python3 json模塊之編碼解碼方法講解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python3 json模塊之編碼解碼方法講解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章