← Назад к вопросам

Какой знаешь аналог JSON в Python?

2.0 Middle🔥 121 комментариев
#REST API и HTTP

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Основные аналоги JSON в Python

В Python существует несколько структур данных, которые являются аналогами JSON:

1. Словари (Dictionaries)

Словари — это прямой аналог JSON-объектов. Они хранят данные в виде пар «ключ-значение»:

# JSON
{"name": "John", "age": 30, "city": "New York"}

# Python
user = {"name": "John", "age": 30, "city": "New York"}
print(user["name"])  # John

Словари поддерживают вложенность:

data = {
    "user": {"name": "John", "email": "john@example.com"},
    "status": "active"
}

2. Списки (Lists)

Списки в Python соответствуют JSON-массивам:

# JSON
[1, 2, 3, 4, 5]

# Python
numbers = [1, 2, 3, 4, 5]
names = ["Alice", "Bob", "Charlie"]

3. Модуль json для работы

Для преобразования между JSON и Python используется встроенный модуль json:

import json

# JSON строка -> Python
json_string = '{"name": "John", "age": 30}'
data = json.loads(json_string)  # dict

# Python -> JSON строка
python_dict = {"name": "John", "age": 30}
json_output = json.dumps(python_dict)  # строка

4. Соответствие типов

При преобразовании JSON ↔ Python:

  • JSON object → Python dict
  • JSON array → Python list
  • JSON string → Python str
  • JSON number → Python int или float
  • JSON true/false → Python True/False
  • JSON null → Python None

5. Другие альтернативы

YAML — более читаемый формат для конфигураций:

import yaml

with open("config.yaml") as f:
    config = yaml.safe_load(f)

Pickle — для сериализации Python-объектов:

import pickle

data = {"key": "value"}
ser = pickle.dumps(data)
deser = pickle.loads(ser)

MessagePack — компактный бинарный формат для обмена данными.

Практический пример

import json

user_data = {
    "id": 1,
    "name": "Alice",
    "skills": ["Python", "JavaScript", "SQL"],
    "active": true
}

# Сохранение в JSON файл
with open("user.json", "w") as f:
    json.dump(user_data, f, indent=2)

# Чтение из JSON файла
with open("user.json") as f:
    loaded_data = json.load(f)

Вывод: Словари и списки в Python — это прямые аналоги JSON-объектов и массивов. Модуль json обеспечивает удобное преобразование между этими форматами, что делает работу с данными простой и безопасной.