【发布时间】:2015-05-04 13:13:35
【问题描述】:
这个问题看起来很基本,但我没有找到一个干净的解决方案。
我想在一个列表中添加一些值(字典),例如
data = { "item" : {}, "series": [ ] }
...
data['item'].update(dict(labels=myitems))
data['series'].append( dict(data=myseriesData) )
data['series'].append( dict(name=myname) )
这会产生:
{'series': [{'data': [1, 2, 3]}, {'name': 'serie1'}], 'item': {'labels': ['jan', 'feb', 'march']}}
虽然我没有系列列表中的花括号,但我的 JSON 需要采用以下格式:
{'series': ['data': [1, 2, 3], 'name': 'serie1'], 'item': {'labels': ['jan', 'feb', 'march']}}
我尝试了不同的方法,例如使用 extend update 添加字符串或元组,但没有成功..
有什么想法吗? “诀窍”是什么?
【问题讨论】:
-
这是因为你在附加字典
-
你让事情变得更糟了。尝试将您要求的内容放入像 jsonlint.com 这样的 JSON 验证器中。您的预期输出无效。
-
您的 json 样本无效;您缺少一些花括号,并且 JSON 使用双引号。列表中不能有键值对。你的意思是
{"series": [{"data": [1, 2, 3], "name": "serie1"}], "item": {"labels": ["jan", "feb", "march"]}}吗?注意双引号。 -
所需的输出是:{'series': ['data': [1, 2, 3], 'name': 'serie1'], 'item': {'labels': [ '一月','二月','三月']}}。我编辑了我的初始 json。谢谢
标签: python json list dictionary append