JSON通常用於在Web客戶端和服務器數據交換,即把字符串類型
的數據轉換成Python基本數據類型
或者將Python基本數據類型
轉換成字符串類型
。
常用方法
方法 | 說明 |
---|---|
json.loads(obj) | 將字符串序列化成Python的基本數據類型,注意單引號與雙引號 |
json.dumps(obj) | 將Python的基本數據類型序列化成字符串 |
json.load(obj) | 讀取文件中的字符串,序列化成Python的基本數據類型 |
json.dump(obj) | 將Python的基本數據類型序列化成字符串並寫入到文件中 |
實例
- 將字符串序列化成字典
創建一個字符串變量dict_str
>>> dict_str = '{"k1":"v1","k2":"v2"}' # 數據類型為str >>> type(dict_str) <class 'str'>
將字符串變量dict_str
序列化成字典格式
>>> import json >>> dict_json = json.loads(dict_str)
查看數據類型並輸出內容
>>> type(dict_json) # 數據類型被序列化成字典格式了 <class 'dict'> >>> dict_json {'k1': 'v1', 'k2': 'v2'}
- 將一個列表類型的變量序列化成字符串類型
創建一個列表json_li
>>> json_li = [11,22,33,44] # 數據類型為list >>> type(json_li) <class 'list'>
- 將字符串類型轉換為Python的基本數據類型
>>> import json >>> json_str = json.dumps(json_li)
查看數據類型
# 為str >>> type(json_str) <class 'str'> >>> json_str '[11, 22, 33, 44]'
- 把字典當作字符串存入db文件當中
# 創建一個字典的數據類型 >>> dic = {"k1":123,"k2":456} # 輸出類型及內容 >>> print(type(dic),dic) (<type 'dict'>, {'k2': 456, 'k1': 123}) # 導入json模塊 >>> import json # 將dic轉換為字符串並且寫入到當前目錄下面的db文件內,如果沒有該文件則創建 >>> json.dump(dic,open("db","w")) # 導入os模塊查看 >>> import os # 查看當前目錄下面的文件 >>> os.system("ls -l") total 8 -rw-r--r-- 1 root root 22 May 20 23:54 db 0 # 查看文件db的內容那個,最后面那個0是代表命令執行成功 >>> os.system("cat db") {"k2": 456, "k1": 123}0
- 讀取文件內容,把讀取出來的字符串轉換成Python的基本數據類型
# 讀取當前目錄下面的db文件,把內容轉換為Python的基本數據類型並賦值給result >>> result = json.load(open("db","r")) # 查看對象result的數據類型及內容 >>> print(type(result),result) (<type 'dict'>, {u'k2': 456, u'k1': 123})