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

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

更新時(shí)間:2021-11-17 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班


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

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

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

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

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

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

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

1.dumps()函數(shù)

使用dumps()函數(shù)對(duì)Python對(duì)象進(jìn)行轉(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對(duì)象pyobj,其次通過(guò)dumps()函數(shù)將該對(duì)象轉(zhuǎn)換為JSON字符串,之后通過(guò)print()函數(shù)打印了JSON字符串。

2.loads()函數(shù)

以上述示例生成的JSON數(shù)據(jù)jsonstr為例,使用loads()函數(shù)將JSON數(shù)據(jù)轉(zhuǎn)換為符合Python語(yǔ)法要求的數(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ù)消費(fèi)流程

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

jQuery綁定事件有幾種方法?

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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!