Сохранение данных в рептилиях----сохранение файлов json

1. Введение в данные json

Назначение: кодирует объект Python в строку JSON и декодирует строку JSON в объект Python.

Модуль json предоставляет API для преобразования объектов Python в памяти в последовательности JSON. Преимущество JSON заключается в том, что он реализован на многих языках, особенно в JavaScript. Он широко используется для связи между веб-серверами и клиентами в REST API, а также полезен для связи между приложениями.

1. Кодирование и декодирование JSON

Собственные типы Python по умолчанию (str, int, float, list, tuple и dict).


import json
data = {
    
    
	'name': 'ACME',
	'shares': 100,
	'price': 542.23
}
json_str = json.dumps(data)
print(json_str)
print(type(json_str))

# 保存
with open('data.json', mode='w', encoding='utf-8') as f:
	f.write(json_str)

Этот процесс от неупорядоченного словаря к упорядоченной строке называется сериализацией.

1. Проблемы с китайскими иероглифами


import json
data = {
    
    
	'name': '张三',
	'shares': 100,
	'price': 542.23
}
# 将字典序列化为json
json_str = json.dumps(data)
# 写入 json 数据
with open('data.json', mode='w', encoding='utf-8') as f:
f.write(json_str)

这时的输出:
# filename:data.json
{
    
    "name": "\u9752\u706f", "shares": 100, "price": 542.23}

解决办法:
# ensure_ascii=False  不使用默认的unicode编码
 json_str = json.dumps(data, ensure_ascii=False)

2. Чтение данных


# 读取 json 数据
with open('data.json', 'r', encoding='utf-8') as f:
# 反序列化
	data = json.load(f)
# 打印数据
print(data)
print(data['name'])

3. Форматированный вывод

Результат в JSON легче читать. Функция dumps() принимает несколько параметров для вывода более читаемых результатов.


import json
data = {
    
    'a': 'A''b': (24)'c': 3.0}
print('DATA:'repr(data)) # DATA: {'a': 'A', 'b': (2, 4), 'c': 3.0}
unsorted = json.dumps(data)
print('JSON:', json.dumps(data)) # JSON: {"a": "A", "b": [2, 4], "c": 3.0}

объяснять:

Кодирование и последующее повторное декодирование могут не дать точно такой же тип объекта.
В частности, кортежи становятся списками. JSON на самом деле такой же, как словарь в Python.На самом деле легко найти соответствующую связь
между типами данных JSON и типами данных Python .

вставьте сюда описание изображения

Supongo que te gusta

Origin blog.csdn.net/m0_74459049/article/details/130307215
Recomendado
Clasificación