標籤:key rip strong width indent ima lis 內建 對象
一. 什麼是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字串
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模組