JSON — это пищевой клей в Интернете. Я очень горжусь этой аналогией, в основном потому, что мне нравится майонез, несмотря на то, что могут сказать ненавистники, но также и потому, что мне полезно думать о технологии с точки зрения еды.

Если вы не знакомы с JSON, это означает Обозначение объектов JavaScript и представляет собой стандартизированный способ хранения данных, которые необходимо отправлять по сети. По сути, это блок вложенных пар ключ-значение, которые принимают обычные типы JS. Хотя в его названии есть JS, на самом деле он не ограничивается JavaScript — многие языки используют этот стандартный формат, включая Python.

Приведу практический пример! Если вы разрабатывали клон Battleship и хотели, чтобы игра работала по модели клиент-сервер, вы могли бы использовать JSON для синхронизации состояния игры между двумя сторонами. Ваш JSON может выглядеть так:

Вы можете видеть, что есть три ключа верхнего уровня gameState, playerOne и playerTwo. Каждый ключ игрока представляет собой вложенный список, содержащий конкретную информацию о состоянии каждого отдельного корабля во флоте и о том, жив ли еще сам флот.

Мы можем получить доступ и управлять этими парами ключ-значение, а затем отправлять обновленное состояние игры туда и обратно между клиентом и сервером стандартизированным способом! Это круто. 🤓

Но вернемся к майонезу… Представим, что у нас есть более сложное приложение, состоящее из набора микросервисов:

  • Один сервис для управления шлюзом API.
  • Бухгалтерские услуги, с базой данных
  • Услуги доставки, с базой данных
  • Службы инвентаризации с базой данных
  • Веб-приложение витрины

Надеемся, что базы данных не используют JSON для связи друг с другом, потому что есть некоторые другие проблемы, которые не будут рассматриваться в рамках этой статьи. Однако другие службы могут очень легко использовать JSON в качестве метода связи между собой. Мы могли бы создать стандартный объект JSON, который был бы полезен для каждой службы, чтобы гарантировать совместимость и хорошую несвязанную инфраструктуру. Это похоже на то, что JSON склеивает все вместе! Как майонез в бутерброде. 🤤

Еще одна область, в которой я видел использование JSON, — это подготовка инфраструктуры в облаке. И AWS, и Azure дают вам возможность определить ресурс в шаблоне JSON. Этим ресурсом может быть сервер и служба приложений, виртуальный маршрутизатор или пара десятков других вещей. Так почему это полезно? Ну, это позволяет вам определить вашу инфраструктуру один раз в текстовом формате, который легко реплицируется и воспроизводится. Мы также можем применять контроль версий к нашей инфраструктуре с помощью такой службы, как git, что дает нам возможность отслеживать изменения и анализировать, почему что-то может дать сбой после обновления.

Спасибо, что остаетесь рядом! Надеюсь, вы немного узнали о JSON. А теперь попробуй — попробуй этот туториал. Как вы думаете, сравнение JSON с майонезом является подходящей аналогией? Прокомментируйте и дайте мне знать, или давайте начнем флейм в Твиттере!

Удачного кодирования!