2016-03-21 33 views
-1

jsonifyを使用してjson配列を作成しようとしています。何かのように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

これは有効なJSONではありません。 JSONオブジェクトは、キーと値のペアのエンティティです。あなたの場合、配列だけのオブジェクトを作成しています。 – thefourtheye

+0

@thefourtheyeどのように私は有効なjsonで同様の形式で情報を格納できますか? – FlamingPickle

+0

@dejavoそれは動作しません。これは単にリストインデックスを範囲外エラーとして投げます。 – FlamingPickle

答えて

0

フラスコのjsonifyは、辞書以外のトップレベルオブジェクト(JSONではオブジェクト)をサポートしていません。これは、過去にトップレベルの配列にいくつかのセキュリティ問題があったためです。

この動作は最新のFlaskマスターで変更されましたが、単にjson.dumpsを使用してリストをシリアル化します。また、を最後のオブジェクトのに1回だけ呼び出すようにしてください。実際のリスト要素ではありません。

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