GQL:我将JSON存储在DataStore中。所有json都转换为html实体,如何避免这种情况?

时间:2010-04-08 11:50:17

标签: json google-app-engine gql html-entities

tittle表示最多:

我将JSON存储在DataStore中。所有json都转换为html实体,我该如何避免这种情况?

原来我有

myJson = db.StringProperty()

它抱怨我的json很长,StringProperty有大约500个字符的限制。取而代之的是使用TextProperty。

它插入没有问题,但现在当我从数据库中获取它时myJson看起来像这样:

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

任何sugestions?

编辑:

代码:

型号:

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": ...';

2 个答案:

答案 0 :(得分:3)

你是如何获取和显示JSON的?这绝对不是它存储在数据存储区中的问题,而是它如何显示,或者可能是如何被收到的问题。我们需要能够看到处理它的所有代码来告诉它。

答案 1 :(得分:0)

问题不在数据存储区中。事实上,我正在使用模板来编写JSON。

我手动生成了响应:

response = HttpResponse(myObject.the_json)

它运作得很好:)。