JSON支持數據格式
1、對象(字典)。使用花括號
2、列表(數組)。使用方括號
3、整形、浮點數、布爾類型還有null類型
4、字符串類型(字符串必須要用雙引號,不能用單引號)
多個數據之間使用逗號分開
注意:json本質上就是一個字符串
字典和列表轉JSON
1、dumps
import json
books = [
{
'title': '三國演義',
'price': 20
},
{
'title': '紅樓夢',
'price': 30
}
]
books_json = json.dumps(books)
print(books_json)
print(type(books_json))
結果:
[{"title": "\u4e09\u56fd\u6f14\u4e49", "price": 20}, {"title": "\u7ea2\u697c\u68a6", "price": 30}]
<class 'str'>
可以看到單引號變成了雙引號
切類型爲str
2、dump
import json
books = [
{
'title': '三國演義',
'price': 20
},
{
'title': '紅樓夢',
'price': 30
}
]
with open('books.json', 'w', encoding='utf-8') as fp:
# fp.write(books_json)
json.dump(books, fp, ensure_ascii=False)
使用dump方法,可以直接將列表嵌套字典的數據格式轉化成json格式並保存到指定的文件中。
另外需要注意的是,我們需要將ensure_ascii 關掉,否則有中文的時候會亂碼
將一個json字符串load成Python對象
1、loads
json_str = '[{"title": "三國演義", "price": 20}, {"title": "紅樓夢", "price": 30}]'
books = json.loads(json_str)
print(books)
2、load
with open('books.json', 'r', encoding='utf-8') as fp:
movies = json.load(fp)
使用load 解析json文件