JSON (JavaScript Object Notation) — это простой формат обмена данными, который удобен для чтения и написания как людьми, так и компьютерами. Он широко применяется для хранения и передачи информации в веб-приложениях.
В Python есть встроенный модуль json, который позволяет работать с данными в формате JSON. Структуры данных JSON представлены массивами и объектами. В Python массивы JSON соответствуют спискам, а объекты JSON — словарям.
Вот пример данных JSON, представляющих города, как показано ниже:
{
"cities": [
{
"name": "New York",
"state": "NY",
"population": 8419600
},
{
"name": "Los Angeles",
"state": "CA",
"population": 3990456
},
{
"name": "Chicago",
"state": "IL",
"population": 2718500
}
]
}
- Чтение файла
- Как анализировать данные
- Извлечение значения из массива
- Извлечение определенных данных
- Заключение
Чтение файла
Чтобы прочитать данные в формате JSON из файла, можно воспользоваться встроенной функцией open() для открытия файла, а затем функцией json.load() для анализа данных в Python.
Для начала создадим файл с названием «город.json», в который поместим данные в формате JSON, указанные выше.
Теперь давайте напишем код Python для чтения этих данных:
import json
# Open the JSON file for reading
with open('cities.json', 'r') as file:
# Parse JSON data
data = json.load(file)
# Display the data
print(data)
Как анализировать данные
Модуль json также позволяет проанализировать данные в формате JSON, представленные в виде строки, с помощью функции json.loads().
Пример:
import json
json_string = '{"name": "Boston", "state": "MA", "population": 685094}'
# Parse JSON data from a string
city = json.loads(json_string)
# Display the data
print(city)
Вы можете увидеть результат ниже:

Извлечение значения из массива
Давайте извлечём значения из массива JSON. В этом массиве JSON содержатся объекты, каждый из которых представляет собой город.
# Using the data loaded earlier from the file
cities = data['cities']
# Loop through the array and print each city name
for city in cities:
print(city['name'])
Выход:
New York Los Angeles Chicago
Извлечение определенных данных
Иногда вам могут потребоваться только определённые данные из JSON. Например, вам нужны только названия городов, в которых проживает более 3 миллионов человек.
# Loop through the array and print names of cities with population > 3 million
for city in cities:
if city['population'] > 3000000:
print(city['name'])
Выход:
New York Los Angeles
Заключение
В этом уроке мы изучили, как считывать данные в формате JSON из файла и работать с этими данными в Python. Также мы узнали, как извлекать нужные значения и конкретные данные из JSON-массивов.
Модуль json в Python значительно упрощает работу с JSON-данными. Он позволяет преобразовывать JSON в структуры данных Python, такие как списки и словари, и наоборот.