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, такие как списки и словари, и наоборот.