2016-03-21 28 views
-1

jsonify kullanarak bir json dizisi oluşturmaya çalışıyorum. Daha büyük ölçektejsonify ile bir json dizisi oluşturma

{[ 
    { 
     "a":4, 
     "b":5 
    }, 
    { 
     "a":4, 
     "b":5 
    } 
]} 

gibi bir şey. Şu anda böyle bir şey çalışıyorum:

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

ama bu TypeError: 'list' object is not callable ne yapmalıyım atar? Herhangi bir yardım takdir edilir.

+1

Bu geçerli değil JSON. JSON nesneleri anahtar-değer çifti varlıklarıdır. Senin durumunda, içinde sadece bir dizi olan bir nesne yaratıyorsun. – thefourtheye

+0

@thefourtheye Bilgileri geçerli bir jsonda benzer bir biçimde nasıl saklayabilirim? – FlamingPickle

+0

@dejavo Bu işe yaramıyor. Sadece bir aralık dizini dışında bir liste dizini atar. – FlamingPickle

cevap

0

Flask'ın jsonify, sözlükler dışındaki en üst düzey nesneleri desteklemez (JSON içinde nesneler). Bunun nedeni geçmişte üst düzey dizilerle ilgili bazı güvenlik sorunları vardı.

Bu davranış en son Flask ana makinesinde değiştirilmiştir, ancak listenizi serileştirmek için json.dumps'u kullanın. Ayrıca, gerçek nesne öğelerinde değil, yalnızca son nesnedeki numaralı telefonu numaralı telefondan aramalısınız.

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