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

Расшифруй аббревиатуру JSON

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

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

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

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

Что такое JSON (JavaScript Object Notation)

JSON расшифровывается как JavaScript Object Notation — это текстовый формат обмена данными.

Расшифровка аббревиатуры

J — JavaScript S — Object O — Notation

Но это не только для JavaScript!

Несмотря на названием, JSON используется во всех языках программирования. Выбор названия исторический — формат был создан для JavaScript, но быстро стал универсальным стандартом обмена данными.

Структура JSON

JSON основан на двух структурах:

1. Объект (Object) — пары ключ-значение

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

2. Массив (Array) — упорядоченный список значений

[1, 2, 3, "hello", true, null]

Типы данных в JSON

{
  "string": "текст",
  "number": 42,
  "float": 3.14,
  "boolean": true,
  "null": null,
  "array": [1, 2, 3],
  "object": { "nested": "value" }
}

Работа с JSON в Python

import json

# Преобразование Python объекта в JSON строку
data = {"name": "John", "age": 30}
json_string = json.dumps(data)
print(json_string)  # {"name": "John", "age": 30}

# Преобразование JSON строки в Python объект
json_str = '{"name": "John", "age": 30}'
python_obj = json.loads(json_str)
print(python_obj)  # {'name': 'John', 'age': 30}

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

# Запись JSON в файл
with open("data.json", "w") as f:
    json.dump(data, f)

JSON в веб-разработке

JSON — стандарт обмена данными между клиентом и сервером:

import requests

# Отправка JSON
response = requests.post(
    "https://api.example.com/users",
    json={"name": "John", "age": 30}
)

# Получение JSON
data = response.json()  # Автоматически парсит JSON

REST API и JSON

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
    name: str
    age: int

@app.post("/users")
async def create_user(user: User):
    return user  # FastAPI автоматически конвертирует в JSON

Преимущества JSON

  1. Легко читать — человеко-читаемый формат
  2. Универсальность — поддерживается во всех языках
  3. Компактность — меньше XML
  4. Парсинг — легко парсить в любом языке
  5. Веб-стандарт — используется везде

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

import json
from typing import List

# Комплексная структура
users_data = {
    "users": [
        {"id": 1, "name": "John", "skills": ["Python", "JavaScript"]},
        {"id": 2, "name": "Jane", "skills": ["Java", "Go"]}
    ]
}

# Сериализация в JSON
json_str = json.dumps(users_data, indent=2)
print(json_str)

# Десериализация из JSON
parsed = json.loads(json_str)
for user in parsed["users"]:
    print(f"{user['name']}: {', '.join(user['skills'])}")

Историческая справка

JSON был создан Douglas Crockford в начале 2000х годов как более лёгкая альтернатива XML для передачи данных в JavaScript. Но быстро стал де-факто стандартом для всех приложений.

Итог

JSON = JavaScript Object Notation

  • Текстовый формат обмена данными
  • Универсальный стандарт (не только для JavaScript)
  • Основан на объектах и массивах
  • Легко читать, парсить и создавать
  • Стандарт для REST API и веб-приложений