1. 程式人生 > >python 3.6 安裝json 模組(simplejson)

python 3.6 安裝json 模組(simplejson)

JSON 相關概念:

序列化(Serialization):將物件的狀態資訊轉換為可以儲存或可以通過網路傳輸的過程,傳輸的格式可以是JSON,XML等。反序列化就是從儲存區域(JSON,XML)讀取反序列化物件的狀態,重新建立該物件。

     JSON(Java Script Object Notation):一種輕量級資料互動格式,相對於XML而言更簡單,也易於閱讀和編寫,機器也方便解析和生成,Json是JavaScript中的一個子集。

  python2.6版本開始加入了JSON模組,python的json模組序列化與反序列化的過程分別是encoding和decoding。

  • encoding:把一個python物件編碼轉換成Json字串。
  • decoding:把json格式字串編碼轉換成python物件。

具體應用:

  json提供四個功能:dumps, dump, loads, load

dumps功能將資料通過特殊的形式轉換為所有程式語言都認識的字串
>>> import simplejson
>>> data =['aa','bb','cc']
>>> j_str = simplejsondumps(data)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'simplejsondumps' is not defined
>>> j_str = simplejson.dumps(data)
>>> j_str
'["aa", "bb", "cc"]'
loads功能 將json編碼的字串再轉換為python的資料結構
>>> mes = simplejson.load(j_str)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\Program Files\python\lib\site-packages\simplejson\__init__.py", line 455, in load
    return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
>>> mes = simplejson.loads(j_str)
>>> mes
['aa', 'bb', 'cc']

1 # dump功能
2 # 將資料通過特殊的形式轉換為所有程式語言都認識的字串,並寫入檔案
3 with open('D:/tmp.json', 'w') as f:
4     simplejson.dump(data, f)
1 # load功能
2 # 從資料檔案中讀取資料,並將json編碼的字串轉換為python的資料結構
3 with open('D:/tmp.json', 'r') as f:
4     data = simplejson.load(f)

說明

  json編碼支援的基本型別有:None, bool, int, float, string, list, tuple, dict.

  對於字典,json會假設key是字串(字典中的任何非字串key都會在編碼時轉換為字串),要符合JSON規範,應該只對python列表和字典進行編碼。此外,在WEB應用中,把最頂層物件定義為字典是一種標準做法。

  json編碼的格式幾乎和python語法一致,略有不同的是:True會被對映為true,False會被對映為false,None會被對映為null,元組()會被對映為列表[],因為其他語言沒有元組的概念,只有陣列,也就是列表。

1 >>> import simplejson
2 >>> data = {'a':True, 'b':False, 'c':None, 'd':(1,2), 1:'abc'}
3 >>> j_str = simplejson.dumps(data)
4 >>> j_str
5 '{"a": true, "c": null, "d": [1, 2], "b": false, "1": "abc"}'

Simpeljson 模組安裝

開發環境:windows10、Python3.5、DJango1.11.1

第二步:開啟cmd,進入到Python安裝目錄的Scripts資料夾中.比如:D:\Program Files\Python\Scripts。使用pip安裝剛剛下載好的whl檔案,pip.exe install *.whl,例如:

D:\Program Files\python\Scripts>pip.exe install D:\python\simplejson-3.10.0-cp36-cp36m-win_amd64.whl
Processing d:\python\simplejson-3.10.0-cp36-cp36m-win_amd64.whl
Installing collected packages: simplejson
Successfully installed simplejson-3.10.0
提示安裝成功後,在\Python\Lib\site-packages目錄下可以看到simplejson.