python str轉(zhuǎn)json的具體步驟
python str如何轉(zhuǎn)json
使用Python內(nèi)置的json模塊,可以將str轉(zhuǎn)換為JSON。具體步驟如下:
1.導(dǎo)入json模塊:import json
2.使用json.loads()方法將str轉(zhuǎn)換為JSON對(duì)象。例如:
str_data = '{"name": "Tom", "age": 18}' json_data = json.loads(str_data)
這將把一個(gè)包含name和age鍵值對(duì)的str對(duì)象轉(zhuǎn)換成一個(gè)Python字典類(lèi)型的對(duì)象,即JSON對(duì)象。
可以使用print(json_data)
來(lái)輸出轉(zhuǎn)換后的JSON對(duì)象。
3.使用json.dumps()方法將Python對(duì)象轉(zhuǎn)換為JSON字符串。例如:
json_str = json.dumps(json_data)
這將把Python字典類(lèi)型的對(duì)象轉(zhuǎn)換為一個(gè)JSON格式的字符串。
可以使用print(json_str)
來(lái)輸出轉(zhuǎn)換后的JSON字符串。
注意:轉(zhuǎn)換過(guò)程中需要保證str字符串符合JSON格式要求,否則會(huì)拋出異常。
Python-字符串str和json格式的轉(zhuǎn)換
str轉(zhuǎn)json
str轉(zhuǎn)換為json格式,前提一定需要保證這個(gè)str的格式和json是一致的,即左邊最外層是大括號(hào),右邊的最外層是大括號(hào)。如果不一致,推薦用正則進(jìn)行拆分至和json格式一致
1. 通過(guò)json.loads進(jìn)行轉(zhuǎn)換
import json str = '{"key": "wwww", "word": "qqqq"}' j = json.loads(str) print(j) print(type(j))
但是值得注意的是,json中內(nèi)部數(shù)據(jù)需要用雙引號(hào)來(lái)包圍,不能使用單引號(hào),如剛才的寫(xiě)法,如果寫(xiě)成這樣,就會(huì)發(fā)生錯(cuò)誤:
str = “{‘key': ‘wwww', ‘word': ‘qqqq'}“ j = json.loads(str)
2. 通過(guò)eval
eval函數(shù)的官方解釋為:將字符串str當(dāng)成有效的表達(dá)式來(lái)求值并返回計(jì)算結(jié)果。
即通過(guò)eval可以把list,tuple,dict和string相互轉(zhuǎn)化,例如:
a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" b = eval(a) type(b) list a = "{1: 'a', 2: 'b'}" b = eval(a) type(b) dict a = "([1,2], [3,4], [5,6], [7,8], (9,0))" b = eval(a) type(b) tuple
同樣,值得注意的是,eval()可以通過(guò)運(yùn)行系統(tǒng)的命令,如:
eval("__import__('os').startfile('notepad.exe')") #啟動(dòng)記事本程序
那么為了保證安全,當(dāng)需要用戶(hù)輸入時(shí),可以對(duì)用戶(hù)輸入進(jìn)行敏感字符檢查和過(guò)濾
3. literal_eval
和eval用法相同,都可以將字符串str解析成list,tuple,dict,而且避免了eval的安全性的問(wèn)題
import ast a = "{1: 'a', 2: 'b'}" b = ast.literal_eval(a) type(b) dict
json轉(zhuǎn)str
使用json.dumps的方法,可以將json對(duì)象轉(zhuǎn)化為字符串
data = {'name':'wjp','age':'22'} data = json.dumps(data)
到此這篇關(guān)于python str如何轉(zhuǎn)json的文章就介紹到這了,更多相關(guān)python str轉(zhuǎn)json內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python中的json對(duì)象與string相互轉(zhuǎn)換教程
- Python字符串str和json格式相互轉(zhuǎn)換
- python實(shí)現(xiàn)提取str字符串/json中多級(jí)目錄下的某個(gè)值
- Python解析json時(shí)提示“string indices must be integers”問(wèn)題解決方法
- 詳解【python】str與json類(lèi)型轉(zhuǎn)換
- python3 json數(shù)據(jù)格式的轉(zhuǎn)換(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互轉(zhuǎn)換)
相關(guān)文章
Python用zip函數(shù)同時(shí)遍歷多個(gè)迭代器示例詳解
這篇文章主要給大家進(jìn)行介紹了Python如何用zip函數(shù)同時(shí)遍歷多個(gè)迭代器,文中給出了示例以及原理和注意事項(xiàng),相信會(huì)對(duì)大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11用Python爬蟲(chóng)破解滑動(dòng)驗(yàn)證碼的案例解析
今天分享個(gè)如何簡(jiǎn)單處理滑動(dòng)圖片的驗(yàn)證碼的案例,主要是使用Python爬蟲(chóng)破解滑動(dòng)驗(yàn)證碼的相關(guān)實(shí)現(xiàn)代碼,感興趣的朋友跟隨小編一起看看吧2021-05-05用python打印1~20的整數(shù)實(shí)例講解
在本篇內(nèi)容中小編給大家分享了關(guān)于python打印1~20的整數(shù)的具體步驟以及實(shí)例方法,需要的朋友們參考下。2019-07-07Python中的函數(shù)參數(shù)(位置參數(shù)、默認(rèn)參數(shù)、可變參數(shù))
這篇文章主要介紹了Python中的函數(shù)參數(shù):位置參數(shù)、默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)和命名關(guān)鍵字參數(shù),需要的小伙伴可以參考下面文章內(nèi)容2021-09-09Python在for循環(huán)里處理大數(shù)據(jù)的推薦方法實(shí)例
這篇文章主要介紹了Python在for循環(huán)里處理大數(shù)據(jù)的推薦方法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python二叉樹(shù)的遍歷操作示例【前序遍歷,中序遍歷,后序遍歷,層序遍歷】
這篇文章主要介紹了Python二叉樹(shù)的遍歷操作,結(jié)合實(shí)例形式分析了Python針對(duì)二叉樹(shù)的前序遍歷,中序遍歷,后序遍歷,層序遍歷等相關(guān)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-12-12