python中的json模塊
阿新 • • 發佈:2018-06-17
AI blank tle bsp 格式化輸出 int int() 對象 交換 1. json.dumps(str, indent=4, sort_keys=True) 將一個python數據對象轉換成一個json字符串
一. 什麽是JSON
1. JSON是JavaScript Object Notation的縮寫,它是一種數據交換格式
2. 本質是一個字符串,是JS對象的字符串表示法
3. 與python中的字典很類似,不過有一些語法上的區別
-
沒有None值,只有null值
-
utf-8的編碼格式
-
字符串必須是雙引號來表達的
4. python當中的字符串要轉換成json對象,要使用json庫來完成
二. 導入json模塊
import json
三. json模塊常用方法
1. json.dumps(str, indent=4, sort_keys=True) 將一個python數據對象轉換成一個json字符串
-
indent:格式化輸出json數據,呈現更直觀。indent=4表示縮進4個空格
-
sort_keys:json字符串按照字典的key進行排序
2. json.loads() 將一個json字符串轉換成python對象,比如json字符串轉換成列表、字典
四. 實例
實例1
import json #把一個python對象轉換成json字符串 a = {"name": "xiaozhai", "sex": None} b = json.dumps(a) print(b) print(type(b)) #把一個json字符串轉換成一個python字典 c = json.loads(b)print(c) print(type(c))
運行結果
{"name": "xiaozhai", "sex": null} <class ‘str‘> {‘name‘: ‘xiaozhai‘, ‘sex‘: None} <class ‘dict‘>
註意:print()函數為了生成可讀性更好的輸出, 它會省去引號並打印,如果我們在python自帶的IDLE中,不加print(),會看到更好的效果
實例2:json.dumps()中indent的作用是縮進空格,sorted_keys會按照字典中key的首字母進行排序
import json #把一個python對象轉換成json字符串a = {"name": "xiaozhai", "sex": None} b = json.dumps(a, indent=4, sort_keys=True) print(b) print(type(b))
運行結果
{ "name": "xiaozhai", "sex": null } <class ‘str‘>
五. 附錄
1. python原始類型向json類型的轉化對照表
Python | JSON |
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
2. json類型轉換到python類型的轉化對照表
JSON | Python |
object | dict |
array | list |
string | unicode |
number(int) | int, long |
number(real) | float |
true | True |
false | False |
null | None |
參考文章
http://www.runoob.com/python/python-json.html
https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499490767fe5a0e31e17e44b69dcd1196f7ec6fc6000
python中的json模塊