Что такое JSON?

«Что такое JSON?» — вопрос из категории Other, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

JSON (JavaScript Object Notation) — это легкий текстовый формат для обмена структурированными данными. Он основан на синтаксисе объектов JavaScript, но является языково-независимым и легко читается как машинами, так и людьми.

Основные элементы синтаксиса:

  • Объект: Набор пар "ключ": значение в фигурных скобках {}.
    {"name": "Alice", "active": true}
  • Массив: Упорядоченный список значений в квадратных скобках [].
    [1, 2, 3, "четыре"]
  • Значения: Могут быть строкой (в двойных кавычках), числом, логическим значением (true/false), null, объектом или массивом.

Пример работы с JSON в Java (используя библиотеку Jackson):

import com.fasterxml.jackson.databind.ObjectMapper;

public class Main {
    public static void main(String[] args) throws Exception {
        ObjectMapper mapper = new ObjectMapper();

        // Сериализация Java-объекта в JSON
        Person person = new Person("Alice", 30);
        String json = mapper.writeValueAsString(person);
        System.out.println(json); // {"name":"Alice","age":30}

        // Десериализация JSON в Java-объект
        Person deserialized = mapper.readValue(json, Person.class);
        System.out.println(deserialized.getName()); // Alice
    }
}

class Person {
    private String name;
    private int age;
    // Конструктор, геттеры, сеттеры
}

Основное применение: Передача данных в веб-приложениях (REST API), конфигурационные файлы, хранение данных (NoSQL, например, MongoDB).