Модуль 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}