Модуль json
Работа с форматом json
Модуль json
в MicroPython предоставляет возможность работать с JSON-данными — их сериализацию (конвертацию из Python-объектов в строки JSON-формата) и десериализацию (конвертацию из JSON-строк в объекты Python). Это полезно для сохранения данных, передачи между системами и интеграции с веб-службами.
JSON (JavaScript Object Notation) — это популярный формат обмена данными, который легко читается человеком и может использоваться для передачи данных между серверами и клиентами.
Функции
dump
Функция dump(obj, stream, separators=None)
сериализует объект obj
в формат JSON и записывает результат в объект потока stream
. Функция не возвращает значений.
Параметры:
obj
: Объект, который нужно сериализовать в формат JSON. Может быть стандартным типом данных Python, поддерживаемым JSON (таким как словари, списки, строки, числа и т.д.).stream
: Объект потока, в который будет записан JSON-строка. Обычно это файл или иной потоковый объект, поддерживающий методwrite
.separators
: (Необязательный) Кортеж, определяющий разделители между элементами JSON. Это может быть полезно для компрессии JSON-строки, например,(',', ':')
для исключения пробелов.
import json, socket
# Создание TCP-сокета
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Подключение к серверу по IP адресу и порту
s.connect(('192.168.88.108', 8081))
# Сериализация данных JSON и отправка их через сокет
data = {'ключ': 'значение', 'число': 42}
json.dump(data, s)
dumps
Функция dumps(obj, separators=None)
сериализует объект obj
в строку формата JSON.
Параметры:
obj
: Объект для сериализации.separators
: (Необязательный) Кортеж для настройки разделителей внутри JSON-строки.
Возвращаемое значение:
Строка, содержащая JSON-представление объекта obj
.
import json
data = {'ключ': 'значение', 'число': 42}
json_str = json.dumps(data)
print(json_str) # {"ключ": "значение", "число": 42}
load
Функция load(stream)
десериализует объект из JSON-формата, считанного из потока stream
.
Параметры:
stream
: Поток, из которого можно прочитать JSON-данные (например, файл с открытым методом чтения).
Возвращаемое значение: Объект Python, восстановленный из JSON.
loads
Функция loads(str)
десериализует объект из строки в формате JSON.
Параметры:
str
: Строка, содержащая JSON-данные.
Возвращаемое значение: Объект Python, восстановленный из JSON-строки.
import json
json_str = '{"key": "value", "number": 42}'
data = json.loads(json_str)
print(data) # {'ключ': 'значение', 'число': 42}