python追加到json对象中的数组
Posted
技术标签:
【中文标题】python追加到json对象中的数组【英文标题】:python append to array in json object 【发布时间】:2012-06-09 08:04:11 【问题描述】:我在 python 中有以下 json 对象:
jsonobj =
"a":
"b":
"c": var1,
"d": var2,
"e": [],
,
,
我想将键值元素附加到“e”中,但无法弄清楚它的语法。我尝试附加以下内容,但括号和引号不正确:
jsobj["a"]["b"]["e"].append("'f':" + var3)
相反,我希望“e”如下:
"e":[
"f":var3, "g":var4, "h":var5,
"f":var6, "g":var7, "h":var8,
]
有人知道追加到这个 json 数组的正确方法吗?非常感谢。
【问题讨论】:
从技术上讲,这不是一个 JSON 对象(即使它是以 JSON 样式格式化的),它是一个 python 字典。这不是“用括号和引号直接出现”,因为您是append()
将字符串添加到字典值 []
。
【参考方案1】:
只需将字典添加为字典对象而不是字符串:
jsobj["a"]["b"]["e"].append(dict(f=var3))
完整来源:
var1 = 11
var2 = 32
jsonobj = "a":"b":"c": var1,
"d": var2,
"e": [],
,
,
var3 = 444
jsonobj["a"]["b"]["e"].append(dict(f=var3))
jsonobj 将包含:
'a': 'b': 'c': 11, 'd': 32, 'e': ['f': 444]
【讨论】:
【参考方案2】:jsobj["a"]["b"]["e"].append("f":var3, "g":var4, "h":var5)
jsobj["a"]["b"]["e"].append("f":var6, "g":var7, "h":var8)
【讨论】:
【参考方案3】:jsonobj["a"]["b"]["e"] += ['f': var3, 'g' : var4, 'h': var5,
'f': var6, 'g' : var7, 'h': var8]
【讨论】:
有extend 方法。以上是关于python追加到json对象中的数组的主要内容,如果未能解决你的问题,请参考以下文章