Python辞書をデータストアに保存する良い方法はありますか?私は次のようなことをしたい:辞書をデータストアに配置するにはどうすればよいですか?
from google.appengine.ext import db
class Recipe(db.Model):
name = db.StringProperty()
style = db.StringProperty()
yeast = db.StringProperty()
hops = db.ListofDictionariesProperty()
もちろん、最後の行は実際には機能しません。私はキーと値のペアのリストであるためにホップが必要です。キーは常に文字列で、値は文字列、int、またはfloatになりますが、 Property classes。
JSON、一般的にはevalよりも安全です。 –
私はおそらくそのフィールドを照会する必要はありませんが、私はオプションがあるのが好きです。私が間違っている場合はまた、私を修正するが、reprを使用しないとJSONを使用してこの場合、同じ出力を持っていないだろうか? –
「安全な評価」であっても、 'repr'は危険です。 Guido自身は、あなたがそのような機能を書くことができるかどうか疑問に思います。 http://code.google.com/p/googleappengine/issues/detail?id=671をご覧ください。 JSONはPythonよりも簡単です。私は、JSONパーサが 'eval'のできる方法で脆弱ではないという自信があります。 – lemnar