代码之家  ›  专栏  ›  技术社区  ›  fmsf

GQL:我在数据存储中存储JSON。所有JSON都转换为HTML实体,如何避免这种情况?

  •  0
  • fmsf  · 技术社区  · 14 年前

    标题说的最多:

    我正在数据存储中存储JSON。所有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": ...';
    
    2 回复  |  直到 14 年前
        1
  •  3
  •   Nick Johnson    14 年前

    如何获取和显示JSON?这绝对不是数据存储中存储它的方式的问题,而是它的显示方式,或者可能是它的接收方式。我们需要能够看到所有处理它的代码来判断哪个。

        2
  •  0
  •   fmsf    14 年前

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

    我用手生成了响应:

    response = HttpResponse(myObject.the_json)
    

    而且效果很好:)