Оригінальна публікація: Python JSON – How to Convert a String to JSON

У цій публікації ви вивчите основи JSON: що це, де його найчастіше використовують та його синтаксис.

Ви також дізнаєтесь, як конвертувати рядок в JSON у Python.

Розпочнемо!

Що таке JSON?

JSON означає JavaScript Object Notation (укр. запис об’єктів JavaScript).

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

Хоча JSON був створений на основі мови програмування JavaScript, він не прив’язаний до жодної з них.

Більшість сучасних мов програмування мають бібліотеки для аналізу та генерації даних JSON.

Де використовують JSON?

JSON зазвичай використовують для надсилання та отримання даних між сервером та клієнтом, де клієтом виступає вебсторінка або вебзастосунок.

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

Базовий синтаксис JSON

У JSON дані записані в парі ключ-значення, ось так:

"first_name": "Katie"

Дані беруться в подвійні лапки, а пара ключ-значення розділена двокрапкою.

Може бути більше однієї пари ключ-значення, але вони розділені комою:

"first_name": "Katie", "last_name": "Rodgers"

У наведеному вище прикладі показано об’єкт, сукупність декількох пар ключ-значення.

Об’єкти знаходяться всередині фігурних дужок:

{
    "first_name": "Katie",  
    "last_name": "Rodgers"
}

За допомогою JSON також можна створити масиви, впорядковані списки зі значеннями. У такому випадку масиви знаходяться у квадратних дужках:

[
  { 
      
    "first_name": "Katie",  
    "last_name": "Rodgers"
  },
  
  { 
      
    "first_name": "Naomi",  
    "last_name": "Green"
  },
]

// або:


{
 "employee": [
     { 
    "first_name": "Katie",  
    "last_name": "Rodgers"
  },
  
  { 
    "first_name": "Naomi",  
    "last_name": "Green"
  },
 ]
}

//це створило об'єкт 'employee' з 2 записами.
// Він визначає ім'я та прізвище працівника

Як працювати з даними JSON у Python

Включіть модуль JSON для Python

Щоб використовувати JSON із Python, спочатку потрібно включити модуль JSON у верхній частині файлу Python. Це вбудовано в Python і є частиною стандартної бібліотеки.

Скажімо, ви маєте файл з назвою demo.py. Зверху ви б додали такий рядок:

import json

Використайте функцію json.loads()

Якщо ви маєте рядкові дані JSON у своїй програмі таким чином:

#include json library
import json

#json string data
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'

#check data type with type() method
print(type(employee_string))

#output
#<class 'str'>

ви можете перетворити їх в JSON у Python, використовуючи функцію json.loads().

Функція json.loads() приймає рядок за значення та перетворює його в словник Python.

Це називається десеріалізацією — процесом перетворення рядка в об’єкт.

#include json library
import json

#json string data
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'

#check data type with type() method
print(type(employee_string))

#convert string to  object
json_object = json.loads(employee_string)

#check new data type
print(type(json_object))

#output
#<class 'dict'>

Потім ви можете отримати доступ до кожного окремого елемента, як це було би під час використання словника Python:

#include json library
import json

#json string data
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'

#check data type with type() method
print(type(employee_string))

#convert string to  object
json_object = json.loads(employee_string)

#check new data type
print(type(json_object))

#output
#<class 'dict'>

#access first_name in dictionary
print(json_object["first_name"])

#output
#Michael

Розглянемо ще один приклад:

  1. Візьміть рядкові дані JSON:
import json

#json string
employees_string = '''
{
    "employees": [
       {
           "first_name": "Michael", 
           "last_name": "Rodgers", 
           "department": "Marketing"
        },
       {
           "first_name": "Michelle", 
           "last_name": "Williams", 
           "department": "Engineering"
        }
    ]
}
'''

#check data type using the type() method
print(type(employees_string))

#output
#<class 'str'>

2. Використайте функцію json.loads(), щоб конвертувати рядок в об’єкт:

import json

emoloyees_string = '''
{
    "employees" : [
       {
           "first_name": "Michael", 
           "last_name": "Rodgers", 
           "department": "Marketing"
        },
       {
           "first_name": "Michelle", 
           "last_name": "Williams", 
           "department": "Engineering"
        }
    ]
}
'''

data = json.loads(employees_string)

print(type(data))
#output
#<class 'dict'>

3. Отримайте доступ до даних:

import json

employees_string = '''
{
    "employees" : [
       {
           "first_name": "Michael", 
           "last_name": "Rodgers", 
           "department": "Marketing"
           
        },
       {
           "first_name": "Michelle", 
           "last_name": "Williams", 
           "department": "Engineering"
        }
    ]
}
'''

data = json.loads(employees_string)

print(type(data))
#output
#<class 'dict'>

#access first_name
for employee in data["employees"]: 
    print(employee["first_name"])
    
#output
#Michael
#Michelle

Висновок

Ось і все — тепер ви знаєте основи використання JSON у Python.

Якщо ви хочете дізнатись більше про Python, freeCodeCamp має сертифікацію Python, яка пояснює базові речі, як-от змінні, цикли і функції, та більш складні концепції, як-от структури даних.

Дякую, що прочитали. Щасливого навчання!