Що таке JSON?

JSON означає JavaScript Object Notation, це легкий формат для обміну та зберігання даних. Формат зберігання даних в основному використовується в дзвінках API REST (запит і відповідь REST) ​​та в базах даних NoSQL, таких як MongoDB. Позначення об'єктів JavaScript як формат дуже прямолінійний, самоописується та інтуїтивно зрозумілий.

Визначення

Це такий самий формат, у якому створюються об’єкти JavaScript, але в JSON об'єкти є лише текстовими. Читання та генерація нотації об’єкта JavaScript може бути здійснено за допомогою будь-якої мови програмування. Можливо, нам доведеться дотримуватися таких правил синтаксису -

  1. Дані завжди знаходяться в парах ключ / значення.
  2. Кожен об'єкт даних відокремлений комою.
  3. Об'єкти тримаються в фігурних дужках (квітковий кронштейн на кшталт цього '()')
  4. Масиви утримуються у квадратних дужках.

Об'єкт JSON

Типовий об’єкт такий

(
“Name”: “Alex”,
“Occupation”: “Teacher”,
“Places visited”: (“San Francisco”, “California”, “Houston”) )

У наведених вище прикладах "Ім'я", "Професія", "Посещені місця" - це ключі, а "Алекс", "Вчитель" і масив ("Сан-Франциско", "Каліфорнія", "Х'юстон") - значення відповідні клавіші та цілі дані, що містяться у дужках квітів, являють собою об’єкт нотації JavaScript. Значення можуть бути рядок, інший об'єкт, булева, null, число.
Об'єкти також можуть бути вкладеними, а також мати форму масивів.

Приклади:

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.

  • Булева:

(“sale”: true)

4. JSON Парсінг

Розглянемо Python як приклад мови програмування та подивимося, як обробляти об'єкти даних.

1. імпортувати json
# json - це модуль в python для обробки його об'єктів даних

2. string_a = "(" ім'я ":" Алекс ", " вік ":" 22 ", " професія ":" Вчитель ")"
# дозвольте мені пояснити приклад формату рядка з правилами синтаксису

3. json_object = json.loads (string_a)
# тепер об'єкт json_object має рядок_a як об'єкт JSON, а ключові значення можна посилатись наступним чином

друк ("Ім'я є", 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 і зчитує його дані
# об’єкти з файлу
друк ("Ім'я є", json_object ("ім'я"))
print (json_object ("ім'я", "вік є", json_object ("вік")))

Примітка. Ви можете або читати файл, витягувати вміст у вигляді рядка та використовувати метод json.loads (), щоб отримати об’єкт json, або безпосередньо використовувати метод завантаження для вилучення передачі обробника файлу як параметр

Обмін об'єктами даних

Практично всі мови програмування використовуються для генерування та обробки словників або хешей чи асоціативних масивів. Отже, дані, які потрібно обмінюватись між клієнтами та серверами, потрібно вводити в одну з цих форм залежно від мови програмування, що використовується.

JSON проти XML

Традиційно протокол, що використовується для обміну даними між клієнтом і сервером, був SOAP (Simple Object Access Protocol), який використовував XML (розширювана мова розмітки). З впровадженням REST (Представницького державного протоколу) широке відоме використання нотації об’єктів JavaScript.

Ось кілька подібностей між ними

  1. Обидва інтуїтивно зрозумілі та легкі для читання.
  2. Обидва можуть бути вкладеними та ієрархічними.
  3. Обидва можна проаналізувати, використовуючи широкий спектр мов.
  4. Обидва обмінюються веб-запитами на передачу даних.

Ось кілька відмінностей між ними

  1. Він не має формату тегів.
  2. Це оптимальне зберігання, оскільки порівняно коротше, ніж XML.
  3. Швидше читати і писати.
  4. Він може використовувати масиви, коли це непросто в XML.

Недоліки

Хоча ми бачили переваги, він також не позбавлений недоліків. Нижче наведені недоліки:

  1. Це не повністю захищено.
  2. Він обмежений з точки зору підтримуваних типів даних.

Як знання про JSON допоможуть вам у вашій кар’єрі?

Це формат даних, який використовується для обміну інформацією між клієнтами та серверами. Уявіть собі, якщо ви могли б розробити оптимізовану схему подання даних, яка використовує менше даних для обміну великими даними, то це чудова річ. Весь світ рухається до послуг RESTful API. Ось чому велика робота з цією мовою допоможе вам придумати цікаві сервіси API.

Висновок

Це один із крутих форматів даних для доступу, зберігання та розуміння даних. Якщо ви шукаєте щось швидке, легке для обміну даними, ви завжди можете з нетерпінням чекати використання Нотації об’єктів JavaScript.

Рекомендовані статті

Це було керівництвом щодо того, що таке JSON. Тут ми обговорили роботу JSON за допомогою прикладів, як і де це може допомогти у кар’єрному зростанні. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Що таке JavaScript?
  2. Що таке масив PHP?
  3. Що таке SAS?
  4. Що таке шаблон дизайну на Java?