Как создать список в формате JSON с вложенными словарями в Python?

Как создать в Python многоуровневый список со словарями, вставлять переменные и преобразовать его в JSON для генерации?
  • 28 февраля 2024 г. 13:48
Ответы на вопрос 2
Пример создания списка в формате JSON с вложенными словарями в Python:

```python
import json

data = {
    "name": "John",
    "age": 30,
    "car": {
        "model": "Honda",
        "year": 2020
    },
    "pets": [
        {"type": "dog", "name": "Buddy"},
        {"type": "cat", "name": "Fluffy"}
    ]
}

json_data = json.dumps(data, indent=4)
print(json_data)
```

Этот код создаст следующий JSON:

```json
{
    "name": "John",
    "age": 30,
    "car": {
        "model": "Honda",
        "year": 2020
    },
    "pets": [
        {
            "type": "dog",
            "name": "Buddy"
        },
        {
            "type": "cat",
            "name": "Fluffy"
        }
    ]
}
```

Чтобы создать многоуровневый список со словарями, можно использовать аналогичный подход, добавляя вложенные словари как элементы в список. После формирования списка его можно преобразовать в JSON с помощью `json.dumps()`.

Пример:

```python
import json

data = [
    {
        "name": "Alice",
        "age": 25
    },
    {
        "name": "Bob",
        "age": 28,
        "address": {
            "city": "New York",
            "street": "Broadway"
        }
    }
]

json_data = json.dumps(data, indent=4)
print(json_data)
```

Этот код создаст JSON, представляющий список с двумя элементами, один из которых содержит дополнительное вложенное словарь:

```json
[
    {
        "name": "Alice",
        "age": 25
    },
    {
        "name": "Bob",
        "age": 28,
        "address": {
            "city": "New York",
            "street": "Broadway"
        }
    }
]
```
Есть ли возможность в python прописать длинный многоуровневый список со словарями и вставлять туда переменные чтобы по итогу я мог сгенерировать из него JSON?

1. Вначале формируете словарь (или любые другие типы данных) со всеми необходимыми свойствами.
2. Преобразуете п1. в json методом json.dumps() .
import json

krevetko = 'иа креветкО!'

data = {
    "form_id": 1345,
    "fields": [
        {"id": 1, "value": krevetko},  # <-- this is, krevetko variable
        {"id": 2, "value": 10306.25},
        {"id": 3, "value": {"item_id": 845}},
        {
            "id": 4,
            "value": [
                {
                    "row_id": 0,
                    "cells": [
                        {"id": 6, "value": "2017-08-26"},
                        {"id": 9, "value": 10000}
                    ]
                }
            ]
        }
    ]
}

print(json.dumps(data))

# {"form_id": 1345, "fields": [{"id": 1, "value": "\u0438\u0430 \u043a\u0440\u0435\u0432\u0435\u0442\u043a\u041e!"}, {"id": 2, "value": 10306.25}, {"id": 3, "value": {"item_id": 845}}, {"id": 4, "value": [{"row_id": 0, "cells": [{"id": 6, "value": "2017-08-26"}, {"id": 9, "value": 10000}]}]}]}

Больше примеров:
import json

data_dict = {"name": "John", "age": 30}
data_list = [1, 2, 3, 4]
data_string = "Hello, world!"
data_string_cyrillic = "иа креветкО!"
data_number = 42
data_boolean = True
data_none = None

print(json.dumps(data_dict))  # {"name": "John", "age": 30}
print(json.dumps(data_list))  # [1, 2, 3, 4]
print(json.dumps(data_string))  # "Hello, world!"
print(json.dumps(data_string_cyrillic))  # "\u0438\u0430 \u043a\u0440\u0435\u0432\u0435\u0442\u043a\u041e!"
print(json.dumps(data_number))  # 42
print(json.dumps(data_boolean))  # true
print(json.dumps(data_none))  # null
Похожие вопросы