Манипуляция вложенными объектами JSON
Кроме того, чтобы обходить вложенные данные JSON, вы также можете манипулировать или обновлять структуру JSON. Модуль json
в Python предоставляет различные функции, которые помогут вам выполнить эту задачу.
Изменение вложенных данных JSON
Чтобы изменить вложенные данные JSON, вы можете сначала загрузить данные JSON в словарь Python, обновить нужные значения, а затем записать измененные данные обратно в строку JSON.
import json
## Загрузка данных JSON
json_data = '{"name": "John Doe", "age": 30, "address": {"street": "123 Main St", "city": "New York", "state": "NY"}}'
data = json.loads(json_data)
## Изменение вложенных данных
data["name"] = "Jane Smith"
data["address"]["city"] = "Los Angeles"
data["address"]["state"] = "CA"
## Запись измененных данных в JSON
updated_json = json.dumps(data, indent=2)
print(updated_json)
Результат:
{
"name": "Jane Smith",
"age": 30,
"address": {
"street": "123 Main St",
"city": "Los Angeles",
"state": "CA"
}
}
Добавление или удаление вложенных элементов
Вы также можете добавлять или удалять вложенные элементы в объекте JSON. Чтобы добавить новую пару ключ-значение, просто присвойте новое значение нужному ключу. Чтобы удалить пару ключ-значение, вы можете использовать ключевое слово del
.
import json
## Загрузка данных JSON
json_data = '{"name": "John Doe", "age": 30, "address": {"street": "123 Main St", "city": "New York", "state": "NY"}}'
data = json.loads(json_data)
## Добавление нового вложенного элемента
data["address"]["zip_code"] = "10001"
## Удаление вложенного элемента
del data["address"]["state"]
## Запись измененных данных в JSON
updated_json = json.dumps(data, indent=2)
print(updated_json)
Результат:
{
"name": "John Doe",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York",
"zip_code": "10001"
}
}
С использованием этих методов вы можете эффективно манипулировать вложенными данными JSON в Python, обновляя, добавляя или удаляя элементы по необходимости.