Интерпретация JSON в Python – как читать файлы JSON

JSON (JavaScript Object Notation – нотация объектов JavaScript) – это популярный способ структурирования данных. Он используется для обмена информацией между веб-приложением и сервером. Но как прочитать файл JSON в Python?

icon strelka icons icons

узнай больше на курсе

Python программист с нуля
Напиши первый код и собери проекты на Python: 4 месяца онлайн в своём темпе, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Java-разработчик с нуля
Освой Java, ООП и Spring и собери первые проекты: 4 месяца онлайн, практика с проверкой и сертификат. Смотри программу и тарифы.
Подробнее о курсе
C# разработчик с нуля
Освой C# и .NET и собери первые приложения: 4 месяца онлайн, практика с проверкой заданий и сертификат. Смотри программу и тарифы.
Подробнее о курсе

В этой статье я покажу вам, как использовать методы json.loads() и json.load() для интерпретации (или как еще говорят парсинга) и чтения файлов и строк JSON.


Синтаксис JSON

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

Вот пример данных JSON с данными организации:

{
  "organization": "Company 1",
  "website": "https://www.website.org/",
  "formed": 2014,
  "certifications": [
    {
      "name": "Responsive Web Design",
      "courses": [
        "HTML",
        "CSS"
      ]
    },
    {
      "name": "JavaScript Algorithms and Data Structures",
      "courses": [
        "JavaScript"
      ]
    },
    {
      "name": "Front End Development Libraries",
      "courses": [
        "Bootstrap",
        "jQuery",
        "Sass",
        "React",
        "Redux"
      ]
    },
    {
      "name": "Data Visualization",
      "courses": [
        "D3"
      ]
    },
    {
      "name": "Relational Database Course",
      "courses": [
        "Linux",
        "SQL",
        "PostgreSQL",
        "Bash Scripting",
        "Git and GitHub",
        "Nano"
      ]
    },
    {
      "name": "Back End Development and APIs",
      "courses": [
        "MongoDB",
        "Express",
        "Node",
        "NPM"
      ]
    },
    {
      "name": "Quality Assurance",
      "courses": [
        "Testing with Chai",
        "Express",
        "Node"
      ]
    },
    {
      "name": "Scientific Computing with Python",
      "courses": [
        "Python"
      ]
    },
    {
      "name": "Data Analysis with Python",
      "courses": [
        "Numpy",
        "Pandas",
        "Matplotlib",
        "Seaborn"
      ]
    },
    {
      "name": "Information Security",
      "courses": [
        "HelmetJS"
      ]
    },
    {
      "name": "Machine Learning with Python",
      "courses": [
        "Machine Learning",
        "TensorFlow"
      ]
    }
  ]
}       

Как парсить строки JSON в Python

Python имеет встроенный модуль, который позволяет работать с данными в формате JSON. Вам необходимо будет импортировать модуль json.

import json

Если вам необходимо проинтерпретировать строку JSON, возвращающую словарь, то вы можете воспользоваться методом json.loads().

import json

# assigns a JSON string to a variable called jess 
jess = '{"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}'

# parses the data and assigns it to a variable called jess_dict
jess_dict = json.loads(jess)

# Printed output: {"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}
print(jess_dict)       

Как парсить и читать файлы JSON в Python

В данном примере мы имеем файл в формате JSON с именем fcc.json, который содержит те же данные, что и ранее, касающиеся курсов, которые предлагает сайт.

Если вы хотите прочитать этот файл, то для начала вам нужно использовать встроенную в Python функцию open() с режимом чтения. Мы используем ключевое слово with, чтобы убедиться, что файл закрыт.

with open('fcc.json', 'r') as fcc_file:       

Если файл не может быть открыт, то мы получим ошибку OSError. Это пример ошибки "FileNotFoundError" при опечатке в имени файла fcc.json.

FileNotFoundError

Затем мы можем проинтерпретировать файл, используя метод json.load() и присвоить его переменной с именем fcc_data.

fcc_data = json.load(fcc_file)

И в конце мы должны напечатать результат.

print(fcc_data)

Вот так будет выглядеть полный код:

import json

with open('fcc.json', 'r') as fcc_file:
    fcc_data = json.load(fcc_file)
    print(fcc_data)       

Как красиво напечатать данные JSON в Python

Если мы посмотрим на то, как печатаются данные, то увидим, что все данные JSON печатаются в одной строке.

Данные JSON

Однако такой формат вывода может быть затруднительным для чтения. И чтобы это исправить, мы можем реализовать метод json.dumps() с параметром indent (отступ).

В данном примере мы сделаем отступ в 4 пробела и будем печатать данные в более удобном для чтения формате.

print(json.dumps(fcc_data, indent=4))       
indent

Также мы можем отсортировать ключи в алфавитном порядке, используя параметр sort_keys и установив его значение на True.

print(json.dumps(fcc_data, indent=4, sort_keys=True))       
sort_keys

Заключение

JSON – это популярный способ структурирования данных, который используется для обмена информацией между веб-приложением и сервером.

Если вам необходимо проинтерпретировать строку JSON, которая возвращает словарь, то вы можете использовать метод json.loads().

Если вам необходимо проинтерпретировать файл JSON, который возвращает словарь, то вы можете использовать метод json.load().

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Python программист с нуля
Напиши первый код и собери проекты на Python: 4 месяца онлайн в своём темпе, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Java-разработчик с нуля
Освой Java, ООП и Spring и собери первые проекты: 4 месяца онлайн, практика с проверкой и сертификат. Смотри программу и тарифы.
Подробнее о курсе
C# разработчик с нуля
Освой C# и .NET и собери первые приложения: 4 месяца онлайн, практика с проверкой заданий и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Фронтенд-разработчик с нуля
Освой HTML, CSS и JavaScript и свёрстай первые сайты: 4 месяца онлайн, практика и портфолио с сертификатом. Смотри программу.
Подробнее о курсе
Разработка приложений на Flutter и Dart
Собери кроссплатформенное приложение на Flutter и Dart: 2 месяца онлайн, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Автоматизированное тестирование на Python
Напиши автотесты на Python с Pytest и Selenium: 4 месяца онлайн, практика на реальных проектах и сертификат. Смотри программу.
Подробнее о курсе
Еще по теме:
Разбираем, какую AI-модель выбрать под задачу: ChatGPT, Claude, Gemini или NotebookLM - их сильные стороны и ограничения
Почему диалог с ИИ снижает продуктивность и как перейти к декларативному управлению задачами вместо бесконечных чат-сессий
Простое объяснение 20 базовых концепций искусственного интеллекта: от нейросетей до агентов и RAG без сложных терминов.
Разбираем причины выгорания senior Android разработчиков: скрытая нагрузка, архитектурные решения и рост требований в экосистеме
Разбираем goroutine, mutex и waitgroup в Go на практическом примере с подсчетом частоты слов и параллельной обработкой данных.
ОСЕННИЕ СКИДКИ
30%
40%
50%
До конца акции: 30 дней 24 : 59 : 59