2011-10-10 12 views

答えて

10

おそらく、Djangoの(de)serialization frameworkを見てみたいです。

[ 
    { 
    "model": "myapp.user", 
    "pk": "89900", 
    "fields": { 
     "name": "Clelio de Paula" 
    } 
    } 
] 

あなたはこのようにそれを保存することができます:私はあなたがあなたのJSONを調整する必要がある場合がありますので、この方法を使用するDjangoのシリアル化形式を使用する必要が信じている

from django.core import serializers 
for deserialized_object in serializers.deserialize("json", data): 
    deserialized_object.save() 

注JSONのように考えますそれに応じて。

+0

さて、あなたは直列化モジュールで必要とされる外側の配列とオブジェクト内のレスポンスをラップするために 'json'モジュールを使用することができます。しかし、それは過度のことかもしれません。 – nrabinowitz

+0

おかげで@nrabinowitz、私は逆シリアル化のフレームワークを読みするつもりですが、私は、httpリクエストにより、このJSONオブジェクトを取得する必要があり、そして時々私はgraph.facebook.comを使用してデータを取得していますので、標準 を持っていないともう1つyoutube api。 – cleliodpaula

+1

元のコードでは、json.dumps()はjson.loadsでなければならないことを指摘しておきます。元のコードが動作しなかったのはおそらくそうです。 – nrabinowitz

4

私はちょうど

{ 
    "username": "clelio", 
    "name": "Clelio de Paula", 
} 

が辞書()オブジェクトであることに気づきました。

だから、これは私が思ったよりも簡単です。私は解決するために必要なもの

はそれだとばかり

def jsonToClass(self, aux): 

    self.name = aux['name'] 
    self.username = aux['username'] 

です。

+0

(私は非直列化するJSONオブジェクトはモデルオブジェクトをシリアル化によって返されると仮定)が、おそらくOK(時々).__ dictのを、これは危険ですどのように__。更新(AUX)' – user25064

+0

?データがチェックされていないと、キーが重複して重複する可能性があるためですか? – Kreychek

+0

モデル上にPythonのプロパティであるフィールドを持つことができ、複雑なセッターによって保護されるためです。それ以外の場合は、タイプチェックや検証は一切ありませんが、データを信頼すれば動作する可能性があります – jsbueno

関連する問題