使用jsonify创建json数组

时间:2016-03-21 05:43:53

标签: python json python-2.7

我正在尝试使用jsonify创建一个json数组。像

这样的东西
{[
    {
       "a":4,
       "b":5
    },
    {
       "a":4,
       "b":5
    }
 ]}

除了规模更大。我目前正在尝试这样的事情:

jsonArr=[]
for i in list:
    jsonArr.append(jsonify(dict(a=4,b=5)))
return jsonArr

但这会引发TypeError: 'list' object is not callable 我该怎么办?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

Flask的jsonify不支持词典以外的顶级对象(JSON中的对象)。这是因为在过去,顶级数组存在一些安全问题。

此行为在最新的Flask主程序中已更改,但只需使用json.dumps序列化您的列表。此外,您应该只在最终对象上调用一次 - 而不是在实际的列表元素上。

>>> import json
>>> list_ = [{'a': 4, 'b': 5}, {'a': 6, 'b': 7}]
>>> print json.dumps(list_)
[{"a": 4, "b": 5}, {"a": 6, "b": 7}]