Десериализация JSON включает преобразование объектов JSON в соответствующие им объекты Python. Метод load() или loads() используется для десериализации объектов json.
Тип данных JSON — это удобный для чтения гибкий текстовый формат, который может сохранять информацию и передавать ее другим приложениям. Модуль JSON может дополнительно принимать строку JSON и преобразовывать ее в словарь Python.
Структура данных JSON
Синтаксис JSON основан на синтаксисе записи объектов JavaScript:
- Данные находятся в парах имя/значение или ключ/значение.
- Отделяются запятыми.
- Фигурные скобки содержат объекты.
- Квадратные скобки содержат массивы.
Структура данных JSON может содержать один из следующих типов данных:
- Число
- Строка
- Массив
- Логическое значение
- Объект(объект JSON)
- Null
Чтобы прочитать файл JSON в Python, используйте функцию json.load(). Функция json.read() принимает файловый объект, анализирует данные JSON и возвращает словарь Python с данными.
Шаги для чтения файла json в Python
- Импортируйте json-модуль.
- Откройте data.json с помощью метода with().
- Загрузите объект JSON в файл data.json, используя метод json.load().
- Распечатайте значения объекта JSON, возвращенные методом load().
Синтаксис
|
1 |
json.load(file_object) |
Параметры
Метод load() принимает в качестве параметра file_object и возвращает словарь.
Допустим, у нас есть файл JSON с именем data.json, содержание которого следующее.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] } |
Для работы с объектом JSON используйте модуль Python json.
|
1 |
import json |
Теперь мы прочитаем этот файл с помощью функции json.load(). Напишите следующий код в файле app.py для чтения файла json.
|
1 2 3 4 5 6 7 |
# app.py import json with open('data.json') as f: data = json.load(f) print(data) |
Вывод:
|
1 2 |
{'data': [{'color': 'red', 'value': '#f00'}, {'color': 'green', 'value': '#0f0'}, {'color': 'blue', 'value': '#00f'}, {'color': 'black', 'value': '#000'}]} |
Здесь мы использовали функцию with() для чтения файла json. Затем файл анализируется с помощью метода json.load(), который дает нам словарь с именем data.
Заключение
Если вы хотите использовать данные JSON из другого файла или взять их в виде строкового формата JSON, вы можете десериализовать их с помощью метода load() или loads(), который обычно используется для загрузки из строки. В противном случае корневой объект находится в списке или словаре.

