json文件處理

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文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章