一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python3內置json模塊編碼解碼方法詳解

Python3內置json模塊編碼解碼方法詳解

2022-01-19 00:15腳本之家 Python

Python3中我們利用內置模塊json解碼和編碼JSON對象。json模塊提供了四個功能:dumps、dump、loads、load本文詳細講解了Python3內置json模塊的詳細使用方法

JSON簡介

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

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

dumps 把數據類型轉換成字符串 

dump  把數據類型轉換成字符串并存儲在文件中

loads 把字符串轉換成數據類型  

load  把文件打開從字符串轉換成數據類型

dumps編碼

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

編碼字典

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

示例結果:

{"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)

示例結果:

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

編碼字符串

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

示例結果:

"Python3"

格式化輸出JSON

將下面的數組,轉化為標準的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)

示例結果:

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

參數解析: 

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

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

轉換關系對照表

下面為Python原始類型向JSON對象的轉化對照表:

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

loads解碼

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

比如我們用來解碼上個示例的數據

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

示例結果:

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

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

總結

Python3中的json解析和編碼模塊json使用起來非常簡單, 功能也非常齊全,完全能夠滿足我們日常的需求。

好了關于Python3內置json模塊編碼解碼方法就講到這里,更多關于Python3內置json模塊的使用方法請查看下面的相關鏈接

原文鏈接:https://www.pythontab.com/html/2019/pythonjichu_0612/1448.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人小视频 | 婷婷精品| 午夜勾魂曲 | 青草福利在线 | 亚洲成年www | 亚洲视频在线一区二区 | 日本高清免费不卡在线 | 国产日韩欧美色视频色在线观看 | 国产日韩一区二区三区在线播放 | h肉动漫在线视频无修无遮挡 | 国产馆精品推荐在线观看 | 免费视频专区一国产盗摄 | 按摩师他揉我奶好爽捏我奶 | 国产hd老头老太婆 | 亚洲欧美日韩另类精品一区二区三区 | 99re热这里只有精品视频 | 91精品婷婷国产综合久久8 | 日本国产成人精品视频 | 男女污网站 | 亚洲天堂视频在线播放 | 扒开尿口| 国产成人精选免费视频 | 国产色综合久久五月色婷婷中文 | 色老妇 | 韩国最新三级网站在线播放 | 男人的视频网站 | 亚洲娇小videos| 亚洲欧美日韩国产一区二区精品 | 亚洲精品AV无码喷奶水糖心 | 我将她侵犯1~6樱花动漫在线看 | 亚洲国产成人精品 | 国产精品igao视频网网址 | 国产福利不卡视频在免费 | a级特黄毛片免费观看 | 男人狂躁女人下面狂叫图片 | 无遮挡h肉动漫在线观看电车 | 日本欧美强乱视频在线 | 大桥未久aⅴ一区二区 | avtt天堂网手机版亚洲 | 四虎在线成人免费网站 | 国产精品视频免费视频 |