Парсинг JSON в Python

Парсинг JSON в Python

Парсинг JSON в Python

Привет, друзья! Сегодня я расскажу вам о том, как работать с форматом JSON в Python. Это очень полезный навык, особенно если вы работаете с API, собираете данные из интернета или обмениваетесь информацией между разными системами.

Что такое JSON?

JSON (JavaScript Object Notation) — это текстовый формат обмена данными, который удобен как для людей, так и для машин. Он часто используется при работе с веб-API, мобильными приложениями и серверами.

Вот пример простого JSON:

{

  "name": "Иван",

  "age": 30,

  "is_student": false

}

Как видите, он похож на словарь в Python, что делает его очень удобным для работы в этой языковой среде.

Зачем парсить JSON?

Представьте, что вы получили ответ от веб-API, например, прогноз погоды или список пользователей. Эти данные обычно приходят в формате JSON. Чтобы с ними работать в Python, нужно преобразовать их в понятные структуры: словари и списки. Для этого и нужен парсинг.

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

Для работы с JSON в Python есть встроенная библиотека json, которая позволяет легко преобразовывать JSON в объекты Python и обратно.

1. Парсинг JSON-строки

Если у вас есть строка с JSON-данными, используйте функцию json.loads():

import json



json_string = '{ "name": "Мария", "age": 25, "is_student": true }'

data = json.loads(json_string)



print("Имя:", data["name"])

print("Студент:", data["is_student"])

2. Чтение JSON из файла

Если данные хранятся в файле, например, data.json, используйте json.load():

import json



with open('data.json', 'r', encoding='utf-8') as file:

    data = json.load(file)



print("Имя:", data["name"])

print("Возраст:", data["age"])

3. Парсинг JSON-списка

Иногда JSON представляет собой список объектов:

[

  { "name": "Иван", "age": 30 },

  { "name": "Мария", "age": 25 }

]

В Python это будет обычный список словарей:

import json



with open('users.json', 'r', encoding='utf-8') as file:

    users = json.load(file)



for user in users:

    print(f"{user['name']} — {user['age']}")

Что делать, если JSON невалиден?

Если формат JSON нарушен, Python выбросит ошибку json.JSONDecodeError. Чтобы программа не падала, можно использовать блок try/except:

import json



invalid_json = "{ invalid: json }"



try:

    data = json.loads(invalid_json)

except json.JSONDecodeError as e:

    print("Ошибка парсинга JSON:", e)

А как сохранить данные в JSON?

Иногда нужно сделать обратное — превратить словарь или список Python в JSON. Для этого используется функция json.dumps():

data = {

  "name": "Петр",

  "age": 28,

  "is_student": True

}



json_output = json.dumps(data, ensure_ascii=False, indent=2)

print(json_output)

  • ensure_ascii=False — чтобы кириллица отображалась корректно.
  • indent=2 — красивое форматирование с отступами.
  • Как получить JSON от API?

    Если вы работаете с веб-API, то чаще всего данные приходят в виде JSON. Для этого отлично подходит библиотека requests:

    import requests



    response = requests.get('https://api.example.com/data')

    data = response.json() # автоматически парсит JSON



    print(data)

    Хочешь больше практики?

    Если вам интересно научиться применять Python в реальных задачах, рекомендую курс «Написание лайфхаков на Python». В этом курсе вы узнаете, как автоматизировать рутинные задачи, работать с API, парсить данные и многое другое!

    Источник

    НЕТ КОММЕНТАРИЕВ

    Оставить комментарий