Что такое JSON? Руководство для начинающих

Если вы начинаете свой путь в веб-разработке, вы, вероятно, уже бесчисленное количество раз сталкивались с JSON, даже если не знали, что это такое. JSON, что означает JavaScript Object Notation, является наиболее широко используемым форматом для передачи данных между приложениями. От твитов, которые вы читаете в социальных сетях, до данных о погоде на вашем телефоне — JSON работает за кулисами, делая все это возможным.

JSON простыми словами

Думайте о JSON как об универсальном переводчике данных между различными компьютерными системами. Подобно тому, как люди согласились использовать английский язык как общий язык в международном бизнесе, компьютеры и приложения в значительной степени договорились использовать JSON как общий формат для обмена информацией. Но что делает JSON особенным по сравнению с альтернативами, которые были раньше? По своей сути, JSON — это просто способ записи данных в виде текста, который следует определенным правилам. Эти правила достаточно просты, чтобы их могли читать как люди, так и компьютеры. Когда вы смотрите на JSON файл, вы видите данные, организованные в четкую иерархическую структуру, используя всего несколько базовых элементов: фигурные скобки {} для объектов, квадратные скобки [] для списков, двоеточия для разделения имен от значений и запятые для разделения элементов. В отличие от своего предшественника XML, который использовал многословные открывающие и закрывающие теги вроде <name>Иван</name>, JSON использует более чистый синтаксис: {"name": "Иван"}. Эта простота является одной из ключевых причин, почему JSON стал таким популярным. Он менее загроможден, проще для написания и занимает меньше места при передаче по сети. JSON представляет реальные концепции естественным образом. Человек может быть представлен как объект со свойствами вроде имени, возраста и email. Корзина покупок может быть массивом объектов товаров. Компания может быть объектом, содержащим массивы сотрудников и отделов. Это естественное соответствие между реальными сущностями и JSON структурами делает его таким интуитивным для работы. Несмотря на наличие 'JavaScript' в названии, JSON полностью независим от языка. Каждый основной язык программирования имеет встроенную поддержку парсинга и генерации JSON. Python имеет json, Java имеет Jackson и Gson, PHP имеет json_encode и json_decode, а JavaScript естественно работает с JSON, поскольку синтаксис основан на его нотации объектных литералов. Эта универсальная поддержка является еще одной причиной, по которой JSON стал де-факто стандартом для обмена данными.

Почему JSON популярен

Восхождение JSON к доминированию в мире обмена данными не произошло случайно. Он появился как решение реальных проблем, с которыми сталкивались разработчики, и продолжает процветать, потому что решает эти проблемы лучше, чем альтернативы. До того, как JSON стал широко распространенным, XML был основным форматом обмена данными между веб-сервисами. Хотя XML мощный и гибкий, он сопровождается значительными накладными расходами. XML документы требуют инструкций обработки, пространств имен, решений атрибуты против элементов, и парсинга со сложными DOM или SAX парсерами. Для простого обмена данными это было излишним. Разработчики хотели что-то более легкое. JSON предоставил эту легковесную альтернативу. REST API, возвращающий список пользователей в XML, может потребовать десятков строк с открывающими и закрывающими тегами, в то время как те же данные в JSON могут быть представлены в доле пространства. Это сокращение размера полезной нагрузки напрямую переводится в более быстрые сетевые передачи и меньшие затраты на пропускную способность, что особенно важно для мобильных приложений, где каждый килобайт имеет значение. История с парсингом столь же убедительна. В JavaScript парсинг JSON практически бесплатен, поскольку JSON.parse() превращает строку в нативный JavaScript объект мгновенно. Сравните это с парсингом XML, который требует создания объекта парсера, обработки типов узлов и навигации по дереву документа. Даже на других языках парсинг JSON обычно проще и быстрее, чем парсинг XML. Простота JSON также снижает кривую обучения для разработчиков. Младший разработчик может понять синтаксис JSON за минуты: объекты с парами ключ-значение, массивы значений и несколько типов данных (строки, числа, булевы значения, null). Нет необходимости изучать DTD, XPath, XSLT или десяток других технологий, которые часто сопровождают XML. Рост REST API и одностраничных приложений создал идеальную среду для процветания JSON. По мере того как веб-приложения перешли к асинхронной загрузке данных и рендерингу на стороне клиента, разработчикам был нужен формат, с которым JavaScript мог бы работать без усилий. JSON был этим форматом. Сегодня JSON повсюду. Это формат ответа почти для каждого веб-API. Это формат хранения для документных баз данных, таких как MongoDB и CouchDB. Это формат конфигурации для Node.js пакетов (package.json), TypeScript (tsconfig.json), VS Code настроек и бесчисленного множества других инструментов. Изучение JSON не просто полезно, оно необходимо для современной разработки программного обеспечения.

Попробовать инструмент

Форматтер JSON

Форматтер JSON

Похожие статьи