我有这段代码:
>>> import simplejson as json
>>> keys = dict([(x, x**3) for x in xrange(1, 3)])
>>> nums = json.dumps(keys, indent=4)
>>> print nums
{
"1": 1,
"2": 8
}
但是我想创建一个循环来使我的输出看起来像这样:
[
{
"1": 1,
"2": 8
},
{
"1": 1,
"2": 8
},
{
"1": 1,
"2": 8
}
]
答案 0 :(得分:4)
您想要的输出无效JSON。我认为您可能要做的是将多个词典附加到列表中,如下所示:
>>> import json
>>> multikeys = []
>>> for i in range(3):
... multikeys.append(dict([(x, x**3) for x in xrange(1, 3)]))
...
>>> print json.dumps(multikeys, indent=4)
[
{
"1": 1,
"2": 8
},
{
"1": 1,
"2": 8
},
{
"1": 1,
"2": 8
}
]
答案 1 :(得分:4)
您需要创建一个列表,在转换为JSON之前将所有映射附加到该:
output = []
for something in somethingelse:
output.append(dict([(x, x**3) for x in xrange(1, 3)])
json.dumps(output)