javascript
Python3 之 JSON
| 一.簡介: |
?序列化/(Serialization): 將對象的狀態(tài)信息轉(zhuǎn)換為可以存儲或可以通過網(wǎng)絡傳輸?shù)倪^程,傳輸?shù)母袷娇梢允荍SON,XML等,反序列化就是從存儲區(qū)域(JSON,XML),讀取反序列化對象的狀態(tài),重新創(chuàng)建改對象。
JSON(Java Script Object Notation): 一種輕量級數(shù)據(jù)交互格式,相對于XML而言更簡單,也易于閱讀和編寫,及其也方便解析和生產(chǎn),Json是JavaScript中的一個子集
python2.6版本開始加入了JSON模塊,python的json模塊序列化與反序列化的過程分別是encoding 和decondig
encoding: 把一個python對象編碼轉(zhuǎn)換成Json字符串
decoding 把json格式字符串編碼換成python對象
| 二.應用 ? ? ?JSON 提供四個方法 ?dumps,dump,loads,load |
?1.JSON ?dumps 序列化
1 1 import json 2 #dumps 功能 3 #將數(shù)據(jù)通過特殊的形式轉(zhuǎn)換為所有程序語言都認識的字符串 4 2 dic = {"name":"simple","age":"22"} 5 3 dic_json = json.dumps(dic) 6 4 #將JSON序列化之后的數(shù)據(jù)寫到文件中。 7 5 with open("dumps.txt","w") as f: 8 6 f.write(dic_json)2. JSON loads 反序列化
1 import json#loads 功能
#將json編碼的字符串在轉(zhuǎn)換為python的數(shù)據(jù)結(jié)構(gòu)2 with open("dumps.txt","rb") as f: 3 data = f.read() 4 dic = json.loads(data) 5 print(dic)
| 說明 |
?JSON 編碼支持的基本類型有: None, boll , int, float,string,list,tuple,dict對于字典,JSON會假設key是字符串(字典中的任何非字符串key都會在編碼時轉(zhuǎn)換為字符串),要符合JSON規(guī)范,應該只對python列表和字典進行編碼。
json編碼的格式幾乎和python語法一致,略有不同的是:True會被映射為true,False會被映射為false,None會被映射為null,元組()會被映射為列表[],因為其他語言沒有元組的概念,只有數(shù)組,也就是列表。
1 >>> import json 2 >>> data = {'a':True, 'b':False, 'c':None, 'd':(1,2), 1:'abc'} 3 >>> j_str = json.dumps(data) 4 >>> j_str 5 5'{"a": true, "c": null, "d": [1, 2], "b": false, "1": "abc"}'?
轉(zhuǎn)載于:https://www.cnblogs.com/simple001/p/7458963.html
總結(jié)
以上是生活随笔為你收集整理的Python3 之 JSON的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线程同步monitor
- 下一篇: 【转载】Apache Spark Job