0

タイトルは最も言います:

JSON を DataStore に保存しています。すべての json が html エンティティに変換されています。これを回避するにはどうすればよいですか?

持っていたオリジナル

myJson = db.StringProperty()

私が持っていたjsonが長すぎて、StringPropertyには約500文字の制限があると不平を言いました。代わりに TextProperty を使用することを提案します。

問題なく挿入されましたが、データベースから取得すると myJson は次のようになります。

{ "timeUnit": "14", "taskCounter": "0", "dependencyCounter": "0", "tasks": [], "dependencies": []}

何か提案はありますか?

編集:

コード:

モデル:

the_json = db.TextProperty()

保存:

myObjectKey = request.POST["myKey"]
myJson = request.POST["myJson"]
element = myObject.get(myObjectkey)
logging.error(" -------------------------")
element.the_json = myJson
element.put()

読み込み中:

params = {}
myObjectKey = request.POST["myKey"]
element = myObject.get(myObjectKey)
params['the_json'] = myObject.the_json
return respond(request, "ajax/load.html",params) #this function is a redirect to shortcuts.render_to_response

ajaxの場合、jqueryを使用してすべてを処理しています。JSON は、'\n' を含まない通常の文字列です。

json_in_the_js = '{ "timeUnit": ...';
4

2 に答える 2

3

JSON をどのように取得して表示していますか? これは間違いなく、データストアへの保存方法の問題ではなく、表示方法、または受信方法の問題です。それを処理するすべてのコードを確認して、どれがどれであるかを判断できる必要があります。

于 2010-04-08T14:35:31.257 に答える
0

問題はデータストアにはありませんでした。テンプレートを使用してJSONを書き込んでいたのは事実でした.

私は手動で応答を生成しました:

response = HttpResponse(myObject.the_json)

そして、それはうまくいきました:)

于 2010-04-11T13:25:09.570 に答える