Найти в Дзене
Войти в IT

Что такое JSON, почему он популярен у программистов? При чём тут Илон Маск?

Оглавление

Один из форматов для хранения данных в мире IT — JSON (JavaScript Object Notation). Буквальным образом этот звучный слоган переводится как "Объектные обозначения JavaScript". Формат JSON это удобно, просто, понятно, и не занимает много места. Что ещё нужно?

Методику придумал американец Дуглас Крокфорд в начале 2000-х, попутно с разработкой языка JavaScript и других затейливых технологий. К слову сказать, он же до 2019 года работал главным JS-архитектором в PayPal. И ещё пища для размышлений. Создатель формата JSON определённо мог быть знаком с Илоном Маском. По крайне мере, он работал в его компании на технической топ-должности. Тем не менее, подтверждающей информации или фотографий по этой гипотезе я не нашёл 😉

Как устроен JSON

JSON представляет из себя простой текстовый набор условных пар "ключ": "значение", разделённых запятыми, и обрамлённых в фигурные скобки. Как «ключи», так и «значения» могут быть абсолютно любыми, на твой личный выбор и по контексту решаемой задачи.

Формат JSON настолько прост, что может быть описан в обычном блокноте или вообще на листе бумаги. Буквально, он состоит из символов кавычка ("), запятая (,), двоеточие (:), фигурные скобки - { }, и квадратные скобки для массивов - [ ]. Как обычно, рассмотрим пример.

Допустим, мы хотим описать в JSON-формате объект «Табурет» 🪑. Предположим, что нам надо сохранить его название, цвет и вес. У нас получится следующее (один из доброй тысячи вариантов - названия ключей остаются на усмотрение программиста):

{
"ObjectName": "Taburet",
"ObjectColor": "Yellow",
"ObjectWeightKG": 3
}

На Русском языке это может выглядеть вот так (да, JSON-объекты можно описывать на любом языке).

{
"Имя": "Табурет",
"Цвет": "Жёлтый",
"ВесПрекрасногоТабурета": 3
}

В левой части JSON-выражений всегда указывается ключ, а в правой значение ключа. Получение значения происходит через квадратные скобки, или через точку (в зависимости от языка). Вот так это выглядит в живом коде:

var firstLib = { "a": 10, "b": 20 };

Получаем значения объекта JSON через firstLib[a] или firstLib.b — одинаково верный способ обращения к нему.

Практическое применение JSON

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

Самое простое применение формата - обмен данными между веб-интерфейсом сайта и его серверной логикой. Например, когда мы прокручиваем ленту постов в социальной сети вниз, новые данные могут подгружаться с сервера через JSON-объекты. Когда мы двигаем интерактивную онлайн-карту, новые участки карты и информация об организациях может подгружаться с сервера через JSON-объекты.

Формат JSON в какой-то момент стал настолько популярен и широко применим, что для него добавили отдельный тип данных в СУБД MySQL, PostgreSQL и других. И конечно же он поддерживается такими языками как PHP (ссылка), CSharp, JavaScript и многими прочими.

Преимущества JSON перед другими форматами хранения данных

На самом деле, форматов для унифицированного и упорядоченного хранения данных не очень много. Основным конкурентом JSON, на мой личный взгляд, является XML. И если JSON представляет из себя произвольный текст в кавычках и скобочках, то XML использует символы <>, и позволяет создавать очень сложные схемы данных, применять атрибуты к параметрам и так далее. То есть, XML в широком смысле более сложен (хотя какие-то простые конструкции на нём могут выглядеть вполне просто).

Иными словами, на мой личный взгляд, преимущества JSON в его простоте, широком распространении, и отсутствии пространства для потенциальных ошибок. Сложно применить эту технологию неправильно, и сложно найти программную среду которая бы не поддерживала этот формат. Это как кухонная вилка - вечная классика, которая проста до степени интуитивной понятности.

Кстати, у автора формата JSON есть свой сайт. Там можно почитать и про JSON, и про JavaScript, и про другую его деятельность. Ссылка: https://www.crockford.com/seif.html

#программист #it #itтехнологии #обучениепрограммированию #информационныетехнологии #айтишник #программирование #программированиеснуля #программированиедляначинающих #языкпрограммирования #технологии #образование #студенты #личныйопыт #json

🔥 Понравилось? Подпишись! Победим восстание роботов вместе! 🔥

-2

🚀 P.S. Ты можешь круто поддержать меня и проект "Войти в IT" на boosty! Я публикую там более эксклюзивный и профессиональный, иногда немного личный контент. Хочешь посмотреть как я выгляжу в реальной жизни? Тогда жми: Ссылка 🚀

P.S.2 У меня ещё есть Telegram-канал. Там посты чуть попроще, и чуть повеселей. Ссылка