首頁技術(shù)文章正文

利用函數(shù)實現(xiàn)Pytho對象和JSON數(shù)據(jù)的相互轉(zhuǎn)換

更新時間:2021-11-17 來源:黑馬程序員 瀏覽量:

IT培訓班


利用json模塊的dumps()函數(shù)和loads()函數(shù)可以實現(xiàn)Python對象和JSON數(shù)據(jù)之間的轉(zhuǎn)換,這兩個函數(shù)的具體功能如表8-3所示。

表8-3 json模塊中的函數(shù)

1637143422913_json和python數(shù)據(jù)之間相互轉(zhuǎn)換.png

Python對象與JSON數(shù)據(jù)轉(zhuǎn)換時,它們的數(shù)據(jù)類型會發(fā)生改變,接下來通過一張表來羅列Python對象與JSON數(shù)據(jù)的類型對照,具體如表8-4所示。

表8-4 Python對象與JSON數(shù)據(jù)轉(zhuǎn)化時的類型對照表

1637143430804_json數(shù)據(jù).png

使用json模塊前需先在程序中導入該模塊,下面分別來演示dumps()和loads()函數(shù)的用法。

1.dumps()函數(shù)

使用dumps()函數(shù)對Python對象進行轉(zhuǎn)碼,具體示例如下:

>>> import json
>>> pyobj = [[1, 2, 3], 345, 23.12, 'qwe1, ('key11:(1,2,3), 'key21:(2,3,4)),
True, False, None]
>>> jsonstr = json.dumps(pyobj)
>>> print(jsonstr)
[[1, 2, 3], 345, 23.12, "qwe", {"key1": [1, 2, 3], "key2": [2, 3, 4]},
true, false, null]

以上代碼首先定義了Python對象pyobj,其次通過dumps()函數(shù)將該對象轉(zhuǎn)換為JSON字符串,之后通過print()函數(shù)打印了JSON字符串。

2.loads()函數(shù)

以上述示例生成的JSON數(shù)據(jù)jsonstr為例,使用loads()函數(shù)將JSON數(shù)據(jù)轉(zhuǎn)換為符合Python語法要求的數(shù)據(jù)類型,具體代碼如下:

>>> pydata = json. loads(jsonstr)
>>> print (pydata)
[[1, 2, 3], 345, 23.12, 'qwe', {'key11: [1, 2, 3], 'key21: [2, 3, 4]}, True,False, None]






猜你喜歡:

Python JsonPath解析json的方法

Kafka數(shù)據(jù)寫入流程、Kafka數(shù)據(jù)消費流程

如何存儲與讀寫不同維度的數(shù)據(jù)?

jQuery綁定事件有幾種方法?

黑馬程序員python+大數(shù)據(jù)開發(fā)培訓

分享到:
在線咨詢 我要報名
和我們在線交談!