JSON (JavaScript Object Notation) — это легкий формат обмена данными, который легко читать и писать человеком, а также легко парсить и генерировать машиной. Он основан на подмножестве языка программирования JavaScript, но является полностью независимым от любого языка. JSON широко используется для обмена данными между сервером и веб-приложением, мобильными приложениями, а также для хранения данных.
JSON строится на двух основных структурах:
Набор пар "имя/значение": Во многих языках это реализуется как объект, запись, структура, словарь, хеш-таблица, список с ключевым доступом или ассоциативный массив. В JSON это представлено объектом, что обозначается фигурными скобками {}
.
{
"name": "Ivan",
"age": 30,
"city": "Kyiv"
}
Упорядоченный список значений: В большинстве языков это реализуется как массив, вектор, список или последовательность. В JSON это представлено массивом, что обозначается квадратными скобками []
.
[
"apple",
"banana",
"orange"
]
Значения могут быть строками (string), числами (number), объектами (object), массивами (array), булевыми значениями (true/false) или null.
JSON является неотъемлемой частью современной веб-разработки. Вот несколько типичных сценариев его использования:
Параметр | XML | JSON |
---|---|---|
Формат | Текст с тегами | Текст с ключами и значениями |
Читабельность | Выше для сложных структур | Лучше для простых данных |
Размер файла | Обычно больше | Меньше |
Совместимость | Широкая поддержка | Преимущественно в JavaScript |
XML лучше подходит для сложных структур с атрибутами, тогда как JSON — для легких REST API.
Иногда возникает необходимость преобразовать данные из табличного формата, например, из Microsoft Excel, в JSON. Это может быть полезно для импорта данных в веб-сервисы или базы данных, которые работают с JSON. Хотя Excel не имеет встроенной функции для прямого экспорта в JSON, существуют сторонние решения.
Одним из таких полезных инструментов является пользовательская функция Excel TABLETOJSON(). Эта функция позволяет легко преобразовывать данные из таблицы Excel в строку JSON.