JSON(JavaScript Object Notation, JS 物件標記)是一種輕量級的資料交換格式,簡潔和清晰的層次結構使得JSON成為理想的資料交換語言。
JSON 支援的資料格式:
線上json 解析器:http://json.cn/
{"Person": [{"username": "張三", "age":18}]}
json :
{
"Person":[
{
"username":"張三",
"age":18
}
]
}
這兩種方法都有一個引數,ensure_ascii 預設情況下時True,即預設只能儲存支援ASCII的字元;如果要儲存中文,將ensure_ascii 引數設為False。
在寫python物件時不需要格外注意遵循json格式要求,只需正確書寫python即可,因為dumps/dump函數會自動將python轉換成json格式。
import json
books = [
{
"name": "三國演義",
"price": 18.8
},
{
"name": "水滸傳",
"price": 19.9
}
]
# dumps
result = json.dumps(books, ensure_ascii=False)
print(result, type(result))
#dump
fp = open('books.json', 'w', encoding='utf-8')
json.dump(books, fp, ensure_ascii=False)
fp.close()
#open 之後需要手動close檔案
import json
json_str = '[{"name": "三國演義", "price": 18.8}, {"name": "水滸傳", "price": 19.9}]'
print(type(json_str))
result = json.loads(json_str)
print(result)
print(type(result))
print('*'*20)
# load
with open('books.json', 'r', encoding='utf-8') as fp:
result = json.load(fp)
print(result)
print(type(result))
使用with open 開啟檔案不需要手動關閉檔案
並且在獲取檔案內容時,最好指定好解析的編碼,否則會容易報錯