Я новичок в Python, и я играю с данными JSON. Я хотел бы динамически построить объект JSON путем добавления некоторого значения ключа к существующему объекту JSON.
Я попробовал следующее, но я получаю TypeError: 'str' object does not support item assignment
:
import json
json_data = json.dumps({})
json_data["key"] = "value"
print 'JSON: ', json_data
json_data['key'] = 'value'
, что не сработает, потому чтоjson_data
это не словарь Python.pip list
дает вам ту же информацию и может выводить JSON:pip list --format=json
Вы можете создать словарь Python и сериализовать его в JSON в одну строку, и это даже не страшно.
источник
Уже есть решение, которое позволяет создать словарь (или вложенный словарь для более сложных данных), но если вы хотите построить объект, то, возможно, попробуйте ObjDict. Это дает гораздо больший контроль над создаваемым json, например, сохранение порядка, и позволяет строить как объект, который может быть предпочтительным представлением вашей концепции.
Сначала установите pip.
источник
json.dumps
iejson.dumps(response, sort_keys=True, indent=4)
, но тогда вы застряли в алфавитном порядке, а не по своему предпочтительному порядку, группировке и представлениюВы можете использовать
EasyDict
библиотеку ( doc ) :[ Установка ]:
pip install easydict
источник
Все предыдущие ответы верны, вот еще один и простой способ сделать это. Например, создайте структуру данных Dict для сериализации и десериализации объекта
( Обратите внимание, что в Python None - это NULL, и я намеренно использую это, чтобы продемонстрировать, как вы можете сохранить NULL и преобразовать его в JSON NULL)
источник