如何使用Python动态构建JSON对象?

2024-03-29 08:44:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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

Tags: 数据对象jsonsupportdataobjectnot动态
3条回答

在将对象编码为JSON字符串之前构建对象:

import json

data = {}
data['key'] = 'value'
json_data = json.dumps(data)

JSON是一种序列化格式,文本数据表示结构。它本身并不是那种结构。

您可以创建Python字典并将其序列化为一行JSON,它甚至不难看。

my_json_string = json.dumps({'key1': val1, 'key2': val2})

已经提供了一个解决方案,允许构建字典(或者为更复杂的数据构建嵌套字典),但是如果您希望构建一个对象,那么可以尝试“ObjDict”。这样可以对要创建的json进行更多的控制,例如保持顺序,并允许将其作为对象进行构建,这可能是概念的首选表示。

pip首先安装objdict。

from objdict import ObjDict

data = ObjDict()
data.key = 'value'
json_data = data.dumps()

相关问题 更多 >