我們在做工作中經常會使用到json模塊,今天就簡單介紹下json模塊
?
什么是json
JSON ,全稱為JavaScript Object Notation, 也就是JavaScript 對象標記,它通過對象和數組的組合米表示數據,構造簡潔但是結構化程度非常高,是一種輕量級的數據交換格式。json模塊在python中可以作為數據解析json
?
對象和數組
在JavaScript 語言中,一切都是對象。任何支持的類型都可以通過JSON來表示,例如字符串、數字、對象、數組等,但是對象和數組是比較特殊且常用的兩種類型
對象 :它在JavaScript中是使用花括號{ }包裹起來的內容,數據結構為{ keyl : valuel,key2:value2}的鍵值對結構。在面向對象的語言中,key為對象的屬性,value 為對應的值。鍵名可以使用整數和字符串來表示。值的類型可以是任意類型。
數組 :數組在JavaScript中是方括號[]包裹起來的內容,數據結構為[ ”java ” ,” javascript ”,"vb " ]的索引結構。在JavaScript中, 數組是一種比較特殊的數據類型,它也可以像對象那樣使用鍵值對,但還是索引用得多。同樣,值的類型可以是任意類型。
?
JSON對象格式
會發現和我們的字典格式是不是特別的一樣
# 格式為{"name":"value"}
[{ " name " : " AnJing " , " age " : " 26 " }]
?
JSON簡單使用
loads()方法
?使用方法loads()將 json文字轉化成json對象
# coding:utf-8 import json str = ''' [{ "name":"AnJing", "age":"26" }] ''' data = json.loads(str) print (data) print (type(data)) print (data[0][ ' name ' ]) # 通過下標進行選擇 print (data[0].get( ' name ' )) 代碼結果: [{ ' name ' : ' AnJing ' , ' age ' : ' 26 ' }] < class ' list ' > AnJing AnJing
注意:在使用loads的時候json字符串必須要用雙引號表示,否則會報錯
(json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 3 column 5 (char 12)
)
dumps()方法
使用dumps()方法將json轉換成字符串
# coding:utf-8 import json str = [{ " name " : " AnJing " , " age " : " 26 " }] print (type(str)) data = json.dumps(str) print (type(data)) print (data) 代碼結果: < class ' list ' > < class ' str ' > [{ " name " : " AnJing " , " age " : " 26 " }]
另外如果想要保存的文字好看點,我們可以增加一個參數indent,代表縮進字符個數,已經可以寫入中文的時候不會亂碼,加入ensure_ascii=False
# coding:utf-8 import json str = [{ " name " : " 安靜 " , " age " : " 26 " , " 性別 " : " 男 " }] # indent 表示縮進 # ensure_ascii=False 表示寫入中文 with open( ' 123.json ' , ' w ' ,encoding= ' utf-8 ' )as f: f.write(json.dumps(str,indent =2,ensure_ascii= False)) 代碼結果: [ { " name " : " 安靜 " , " age " : " 26 " , " 性別 " : " 男 " } ]
load()方法
將文件內容轉換成json數據
# 導入json模塊 import json str = [{ " name " : " AnJing " , " age " : " 26 " }] # 通過dumps寫入文件中 with open( ' 123.json ' , ' w ' )as f: f.write(json.dumps(str)) # 通過load將數據轉換成json data = json.load(open( ' 123.json ' , ' r ' )) print (data) 代碼結果: [{ ' name ' : ' AnJing ' , ' age ' : ' 26 ' }]
dump()方法
將json數據寫入到文件中
# coding:utf-8 import json str = [{ " name " : " AnJing " , " age " : " 26 " }] # 通過dump寫入到json中 json.dump(str,open( ' 123.json ' , ' w ' )) # 通過load查看是否寫入 data = json.load(open( ' 123.json ' , ' r ' )) print (data) 代碼結果: [{ ' name ' : ' AnJing ' , ' age ' : ' 26 ' }]
?
?
簡單的寫了寫json模塊的使用方法,以及json的簡單介紹,歡迎繼續補充沒有涉及到的知識。
?
感覺寫的對您有幫助的,點個關注不迷路~~~~
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
