4

私はこのコードを持っています:

>>> 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
    }
]
4

2 に答える 2

7

リストを作成し、JSON に変換する前にすべてのマッピングを追加する必要があります。

output = []
for something in somethingelse:
    output.append(dict([(x, x**3) for x in xrange(1, 3)])
json.dumps(output)
于 2012-09-04T18:01:22.790 に答える
6

目的の出力は有効な 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
    }
]
于 2012-09-04T18:01:14.927 に答える