DataFrame.to_json() / Series.to_json()
Метод to_json() сериализует данные в формат JSON — текстовое представление, удобное для передачи по сети. Применяется при отправке данных с ESP32 на сервер, при сохранении конфигураций, при обмене с веб-приложениями.
Сигнатура
DataFrame.to_json(path_or_buf=None, orient=None, date_format=None,
double_precision=10, force_ascii=True, indent=None)
Параметры
path_or_buf— путь к файлу; еслиNone, возвращается строка.orient— структура:"records","columns","index","split","values","table".date_format— формат дат:"epoch"или"iso".double_precision— знаков после запятой дляfloat.force_ascii— еслиFalse, сохраняет Unicode (кириллицу).indent— отступ для красивого вывода.
Возвращаемое значение
str или None (если указан path_or_buf).
Примеры
Пример 1. records — список объектов
import pandas as pd
df = pd.DataFrame({"pin": ["A0", "A1"], "value": [512, 600]})
print(df.to_json(orient="records"))
[{"pin":"A0","value":512},{"pin":"A1","value":600}]
Пример 2. columns (по умолчанию)
import pandas as pd
df = pd.DataFrame({"x": [1, 2], "y": [3, 4]})
print(df.to_json())
{"x":{"0":1,"1":2},"y":{"0":3,"1":4}}
Пример 3. Сохранение в файл с отступами
import pandas as pd
df = pd.DataFrame({"temp": [23.5, 24.0]})
df.to_json("data.json", orient="records", indent=2)
Пример 4. Кириллица без escape
import pandas as pd
df = pd.DataFrame({"датчик": ["DHT22"], "значение": [23.5]})
print(df.to_json(orient="records", force_ascii=False))
[{"датчик":"DHT22","значение":23.5}]
Пример 5. Даты в ISO-формате
import pandas as pd
df = pd.DataFrame({
"time": pd.to_datetime(["2026-01-15", "2026-01-16"]),
"v": [1, 2],
})
print(df.to_json(orient="records", date_format="iso"))
[{"time":"2026-01-15T00:00:00.000","v":1},{"time":"2026-01-16T00:00:00.000","v":2}]
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.