Что такое JSON?
JSON обозначает JavaScript Object Notation, это легкий формат для обмена и хранения данных. Формат хранения данных в основном используется в вызовах API REST (запрос и ответ REST) и в базах данных NoSQL, таких как MongoDB. JavaScript Object Notation как формат очень прост, самоописателен и интуитивно понятен.
Определение
Это то же самое, что и формат, в котором создаются объекты JavaScript, но в JSON объекты являются только текстовыми. Чтение и генерация нотации объектов JavaScript могут выполняться с использованием любого языка программирования Возможно, нам придется придерживаться следующих правил синтаксиса -
- Данные всегда находятся в парах ключ / значение.
- Каждый объект данных отделяется запятой.
- Объекты удерживаются в фигурных скобках (цветочная скобка, как это '()')
- Массивы содержатся в квадратных скобках.
Объект JSON
Типичный объект выглядит следующим образом
(
“Name”: “Alex”,
“Occupation”: “Teacher”,
“Places visited”: (“San Francisco”, “California”, “Houston”) )
В приведенных выше примерах «Имя», «Занятие», «Посещенные места» являются ключами, а «Алекс», «Учитель» и массив («Сан-Франциско», «Калифорния», «Хьюстон») являются значениями соответствующие ключи и все данные, заключенные в цветочные скобки, составляют объект нотации объектов JavaScript. Значения могут быть строкой, другим объектом, логическим значением, нулем, числом.
Объекты также могут быть вложенными и также иметь форму массивов.
Примеры:
1. Вложенные объекты
(
“Role”: “Student”,
“Name”: (
“First name”: “Alex”,
“Last name”: “Hill”
)
)
Внешние фигурные скобки образуют первичный объект JSON, вложенный в другой объект JSON с ключом «Имя», за которым следуют данные во внутренних фигурных скобках. Далее, давайте посмотрим массив объектов.
2. Массив объектов
(
“Grade”: 6,
“Student names”: (
(
“First name”: “Alex”,
“Last name”: “Hill”
),
(
“First name”: “Neal”,
“Last name”: “Hunter”
),
(
“First name”: “Peter”,
“Last name”: “Jones”
)
) )
Как вы можете видеть, внешние фигурные скобки образуют первичный объект данных JSON, и есть пара квадратных скобок, которая заключает в себе набор объектов, который является массивом объектов JSON.
3. Типы данных
Значения должны иметь один из следующих типов данных.
- Строки:
(“name”: “Johnny”)
- Номер:
(“age”: 21)
- Объект:
(
“ employee”: (“name”: “John”, “age”: 221)
)
Примечание. Вложенные объекты в объектах JSON также должны соответствовать тем же правилам синтаксиса, что и обычные объекты JSON.
- Boolean:
(“sale”: true)
4. Разбор JSON
Давайте рассмотрим Python в качестве примера языка программирования и посмотрим, как обрабатывать объекты данных.
1. импорт JSON
# json - это модуль в Python для обработки своих объектов данных
2. string_a = «(« имя »:« Алекс », « возраст »:« 22 », « род занятий »:« Учитель »)»
# позвольте мне объяснить пример формата строки с правилами синтаксиса
3. json_object = json.loads (string_a)
# теперь json_object имеет string_a в качестве объекта JSON, и значения ключей можно ссылаться следующим образом
print («Имя есть», json_object («имя»))
print (json_object («имя», «возраст есть», json_object («возраст»)))
Таким образом, при синтаксическом анализе JSON с использованием python объекты JSON принимают форму словаря, а ключи будут указываться в индексе, как упомянуто в приведенном выше примере.
Теперь давайте посмотрим, как мы можем проанализировать объекты JSON из файла в Python
1. импорт JSON
# json - это модуль в Python для обработки своих объектов
2. file_handler = open ('json_data_file.json', 'r')
# open - это функция для открытия файла в python, а файлы json хранятся с расширением
# .json, который в этом примере открывается в режиме чтения 'r'
3. json_object = json.load (file_handler)
# json.load () - это функция, которая принимает обработчик файла json и считывает его данные
# объекты из файла
print («Имя есть», json_object («имя»))
print (json_object («имя», «возраст есть», json_object («возраст»)))
Примечание. Вы можете либо прочитать файл, извлечь содержимое как строку и использовать метод json.loads (), чтобы получить объект json, либо напрямую использовать метод load, чтобы извлечь передаваемый обработчик файла в качестве параметра.
Обмен объектами данных
Почти все языки программирования способны генерировать и обрабатывать словари, хэши или ассоциативные массивы. Таким образом, данные, которыми необходимо обмениваться между клиентами и серверами, должны быть приведены к одной из этих форм в зависимости от используемого языка программирования.
JSON против XML
Традиционно для обмена данными между клиентом и сервером использовался протокол SOAP (простой протокол доступа к объектам), в котором использовался XML (расширяемый язык разметки). С введением REST (Репрезентативный протокол состояния) использование JavaScript Object Notation стало широко известным.
Вот несколько сходств между ними
- Оба интуитивно понятны и легко читаются.
- Оба могут быть вложенными и иерархическими.
- Оба могут быть проанализированы с использованием самых разных языков.
- Оба обмениваются через веб-запросы для передачи данных.
Вот несколько различий между ними
- У него нет формата тега.
- Это оптимальное хранилище, так как оно относительно короче XML.
- Это быстрее читать и писать.
- Он может использовать массивы, хотя это нелегко в XML.
Недостатки
Хотя мы увидели преимущества, это не лишено недостатков тоже. Ниже приведены недостатки:
- Это не совсем безопасно.
- Он ограничен с точки зрения поддерживаемых типов данных.
Как знание JSON поможет вам в вашей карьере?
Это формат данных, который используется для обмена информацией между клиентами и серверами. Представьте себе, если бы вы могли разработать оптимизированную схему для представления данных, которая использует меньше данных для обмена большими данными, то это здорово. Весь мир движется к сервисам RESTful API. Вот почему большое знание этого языка поможет вам создать классные API-сервисы.
Вывод
Это один из классных форматов данных для доступа, хранения и понимания данных. Если вы ищете что-то быстрое и легкое для обмена данными, вы всегда можете рассчитывать на использование JavaScript Object Notation.
Рекомендуемые статьи
Это было руководство к тому, что такое JSON. Здесь мы обсудили работу JSON с помощью примеров и того, как и где это может помочь в карьерном росте. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- Что такое JavaScript?
- Что такое PHP Array?
- Что такое САС?
- Что такое шаблон проектирования в Java?