Python是怎樣處理json模塊的
首先,了解下什么是JSON?
JSON:JavaScript Object Notation 【JavaScript 對象表示法】
JSON 是一種輕量級的數(shù)據(jù)交換格式,完全獨立于任何程序語言的文本格式。一般,后臺應(yīng)用程序?qū)㈨憫?yīng)數(shù)據(jù)封裝成JSON格式返回。
JSON的基本語法如下:JSON名稱/值對。JSON 數(shù)據(jù)的書寫格式是:名稱/值對。名稱/值對包括字段名稱(在雙引號中),然后著是一個冒號(:),最后是值。
JSON最常用的格式是對象的鍵值對:key只能是string, value可以是 object、array、string、number、true/false、null
{'sites': [{ 'name':'360' , 'url':'www.360.com' }, { 'name':'google' , 'url':'www.google.com' }, { 'name':'baidu' , 'url':'www.baidu.com' }]} 鍵通過雙引號包裹,后面跟冒號“:”,然后跟該鍵的值; 值可以是字符串、數(shù)字、數(shù)組等數(shù)據(jù)類型; 對象與對象之間用逗號隔開; “{}”用來保存對象; “[]”用來保存數(shù)組;
json跟python中的字典看起來很像,兩者之間的區(qū)別?
1)json的key只能是字符串,dict的key可以是任何可hash的對象,例如:字符串、數(shù)字、元組等;
2)字典是一種數(shù)據(jù)結(jié)構(gòu),json是一種數(shù)據(jù)格式;字典有很多內(nèi)置函數(shù),有多種調(diào)用方法,而json是數(shù)據(jù)打包的一種格式,并不像字典具備操作性;
3)json的字符串強制用雙引號,dict的字符串可以用單引號、雙引號;
一般而言,我們會把json轉(zhuǎn)化為python中的字典或者列表,再對其進行操作。
Python處理json的模塊:json
Pythone3的標準庫JSON模塊,可以很方便的幫我們進行json數(shù)據(jù)的轉(zhuǎn)換和處理,這里主要指序列化(json.dumps()、json.dump())和反序列化(json.loads()、json.load())。
序列化和反序列化:
將對象轉(zhuǎn)換為可通過網(wǎng)絡(luò)傳輸或可以存儲到本地磁盤的數(shù)據(jù)格式(如:XML、JSON或特定格式的字節(jié)串)的過程稱為序列化;反之,則稱為反序列化。
常用的JSON模塊方法:
json.dumps():將Python中的對象轉(zhuǎn)換為JSON中的字符串對象 json.dump():將python對象轉(zhuǎn)換成JSON字符串輸出到fp流中。 json.loads():將JSON中的字符串對象轉(zhuǎn)換為Python中的對象 json.load():讀取包含json對象的文件。帶s的都是和字符串相關(guān)的,不帶s的都是和文件相關(guān)的。
實例:
把字典轉(zhuǎn)換成json串
import jsondic = {’name’: ’xiaoming’, ’age’: 29}json_str = json.dumps(dic)#返回json字符串print(json_str)print(type(json_str))輸出:{'name': 'xiaoming', 'age': 29}<class ’str’>
Python解碼JSON對象
import jsonjson_str =’{'id':'09', 'name': 'Nitin', 'department':'Finance'}’# Convert string to Python dictdict = json.loads(json_str)print(dict)#轉(zhuǎn)換成字典來后,要訪問其中的值,可以使用字典的key來訪問print(dict[’id’])輸出:{’id’: ’09’, ’name’: ’Nitin’, ’department’: ’Finance’}09
讀取json文件
import jsonwith open(’test1.json’) as f: a = json.load(f)print(a)print(type(a))輸出:{’sites’: [{’name’: ’360’, ’url’: ’www.360.com’}, {’name’: ’google’, ’url’: ’www.google.com’}, {’name’: ’baidu’, ’url’: ’www.baidu.com’}]}<class ’dict’>
寫入json文件
import json dic ={ 'name' : 'xiaoming', 'age' : 20, 'phonenumber' : '15555555555' } with open('test2.json', 'w') as outfile: json.dump(dic, outfile) 文件test.json {'name': 'xiaoming', 'age': 20, 'phonenumber': '15555555555'}
Python類型轉(zhuǎn)換JSON類型的對應(yīng)關(guān)系
json類型轉(zhuǎn)換到Python的類型對照表
以上就是Python是怎樣處理json模塊的的詳細內(nèi)容,更多關(guān)于Python處理json模塊的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. python 如何在 Matplotlib 中繪制垂直線2. bootstrap select2 動態(tài)從后臺Ajax動態(tài)獲取數(shù)據(jù)的代碼3. ASP常用日期格式化函數(shù) FormatDate()4. python中@contextmanager實例用法5. html中的form不提交(排除)某些input 原創(chuàng)6. CSS3中Transition屬性詳解以及示例分享7. js select支持手動輸入功能實現(xiàn)代碼8. 如何通過python實現(xiàn)IOU計算代碼實例9. 開發(fā)效率翻倍的Web API使用技巧10. vue使用moment如何將時間戳轉(zhuǎn)為標準日期時間格式
