Валидатор и форматировщик JSON
Проверяйте и форматируйте JSON с проверкой ошибок в реальном времени
Входной JSON
История JSON
JSON (JavaScript Object Notation) впервые был описан Дугласом Крокфордом в начале 2000-х. Формат основывался на подмножестве литеральной нотации объектов JavaScript, но его полезность как не зависящего от языка формата данных привела к широкому распространению. Первое JSON-сообщение было передано в апреле 2001 года. С тех пор JSON стал фактическим стандартом для веб-API, во многих приложениях вытеснив XML благодаря простоте и удобству использования.
Что такое JSON?
JSON — это легковесный текстовый формат обмена данными, полностью независимый от языка программирования. Несмотря на происхождение от JavaScript, сегодня JSON используется практически со всеми языками программирования. Он представляет данные через простую нотацию пар «ключ — значение» и упорядоченных списков, что делает его одновременно удобочитаемым для человека и разбираемым машиной.
Зачем использовать JSON?
- Независимость от языка: можно использовать с любым языком программирования
- Самоописываемость: структура данных понятна и читаема
- Легковесность: минимальные накладные расходы при передаче данных
- Скорость: легко разбирать и генерировать
- Широкая поддержка: встроенная поддержка в большинстве современных языков
- Дружелюбность к вебу: нативная поддержка в браузерах
- Поддержка схем: можно проверять по JSON Schema
- Вложенные структуры: поддержка сложных иерархий данных
Синтаксис JSON
Синтаксис JSON происходит от нотации объектов JavaScript, но с некоторыми особыми правилами и ограничениями.
Базовые структуры
- Объект: неупорядоченная коллекция пар «ключ — значение»
- Массив: упорядоченный список значений
Поддерживаемые типы данных
- Строка: текст в Unicode, заключённый в двойные кавычки
- Число: целое или с плавающей точкой
- Boolean: true или false
- null: обозначает отсутствие значения
- Объект: коллекция пар «ключ — значение»
- Массив: упорядоченный список значений
Поддержка JSON в языках программирования
| Язык | Метод разбора | Метод сериализации |
|---|---|---|
| JavaScript | JSON.parse() | JSON.stringify() |
| Python | json.loads() | json.dumps() |
| Java | ObjectMapper.readValue() | ObjectMapper.writeValueAsString() |
| C# | JsonSerializer.Deserialize() | JsonSerializer.Serialize() |
| Go | json.Unmarshal() | json.Marshal() |
| PHP | json_decode() | json_encode() |
| Ruby | JSON.parse() | JSON.generate() |
| Rust | serde_json::from_str() | serde_json::to_string() |
| Swift | JSONDecoder().decode() | JSONEncoder().encode() |
| Kotlin | Json.decodeFromString() | Json.encodeToString() |