如何用Pythondynamic构buildJSON对象?

我是Python的新手,我正在玩JSON数据。 我想通过向现有的JSON对象添加一些键值来dynamic构build一个JSON对象。

我尝试了以下,但我得到TypeError: 'str' object does not support item assignment

 import json json_data = json.dumps({}) json_data["key"] = "value" print 'JSON: ', json_data 

将其编码为JSONstring之前,先编译该对象:

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

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

已经提供了一个解决scheme,允许build立一个字典(或者更复杂的数据的嵌套字典),但是如果你想build立一个对象,那么可能试试'ObjDict'。 这使得对json的创build有了更多的控制,例如保留顺序,并且允许将构build作为一个对象,这可能是您的概念的首选表示。

首先安装objdict。

 from objdict import ObjDict data = ObjDict() data.key = 'value' json_data = data.dumps() 

您可以创buildPython字典并将其序列化为一行JSON,甚至不会很难。

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