1. JSON 概述
JSON(JavaScript Object Notation, JS 物件標記)是一種輕量級的資料交換格式,簡潔和清晰的層次結構使得JSON成為理想的資料交換語言,
JSON 支持的資料格式:
- 物件(字典):花括號
- 陣列(串列):方括號
- 字串型別:必須使用雙引號,不能使用的單引號
- 整形、浮點型、布爾型、null等
- 多個資料之間用逗號隔開
- json 本質上是一個字串
在線json 決議器:http://json.cn/
{"Person": [{"username": "張三", "age":18}]}
json :
{
"Person":[
{
"username":"張三",
"age":18
}
]
}
2. json 常用函式
2.1 python物件轉換成json字串
- dumps :把python物件轉換成json 格式字串;
- dump:把python物件轉換成json格式字串,同時還可以接收一個檔案指標fp引數,可以寫入到檔案中
這兩種方法都有一個引數,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檔案
2.2 json 字串轉換成python物件
- loads:將json 字串轉換成python物件
- load:json 字串轉換成python物件,并且可以直接從檔案中獲取json字串
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 打開檔案不需要手動關閉檔案
并且在獲取檔案內容時,最好指定好決議的編碼,否則會容易報錯
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/117624.html
標籤:其他
上一篇:Python石頭剪刀布完整代碼
