在Python中向JSON添加元素

在Python中向JSON添加元素,python,json,dictionary,Python,Json,Dictionary,关于这方面的话题很少,但是,它们都没有以我需要的方式帮助我 我需要通过用户输入的(一些)字段解析json,这意味着用户可以在7个字段中填写3个,留下4个空字段。我不能将值为空的属性放入json,因此我只需要连接输入的属性 这就是我的问题所在,无法找到正确的粘合方式,例如,在match属性中,IP地址为nw_src(显示为一个变量)的nw_proto、dl_type和其他可能的变量。在这段代码中,Python希望nw_proto和1之间使用逗号而不是冒号 data2 = {} data2['nw_

关于这方面的话题很少,但是,它们都没有以我需要的方式帮助我

我需要通过用户输入的(一些)字段解析json,这意味着用户可以在7个字段中填写3个,留下4个空字段。我不能将值为空的属性放入json,因此我只需要连接输入的属性

这就是我的问题所在,无法找到正确的粘合方式,例如,在match属性中,IP地址为nw_src(显示为一个变量)的nw_proto、dl_type和其他可能的变量。在这段代码中,Python希望nw_proto和1之间使用逗号而不是冒号

data2 = {}
data2['nw_src'] = '10.0.0.5' #or variable
json_data = json.dumps(data2)

data = {"dpid": "1", "priority": "65500", "table_id": "0", "match":
    {data2, 'nw_proto': '1', 'dl_type': '2048'}}
r = requests.post('http://localhost:8080/stats/flowentry/add', data=json.dumps(data))
我尝试了这种方法,也使用了json_数据和类似的东西:

data[0]['f'] = var

没有人做这件事,结果出了差错。有什么想法吗?

{data2,'nw_proto':'1','dl_type':'2048}
不是将两个词典合并为一个词典的正确方法

假设您使用的是Python 2.7,则可以使用
dict
解包其余部分:

data = {..., "match": dict(data2, **{'nw_proto': '1', 'dl_type': '2048'})
.update()
在放入实际目录之前:

data2.update({'nw_proto': '1', 'dl_type': '2048'})
data = {..., "match": data2}

这似乎与json无关。