GQL: Я храним JSON в DataStore. Все JSON обрабатываются в HTML-объекты, как это избежать?
-
25-09-2019 - |
Вопрос
Титтлс говорит, что больше всего:
Я храним 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": ...';
Решение 2
Проблема не была в хранилище данных. Это было в том, что я использовал шаблон, чтобы написать JSON.
Я создал ответ вручную с:
response = HttpResponse(myObject.the_json)
И это сработало отлично :)
Другие советы
Как вы выбираете и отображаете JSON? Это определенно не проблема с тем, как она хранится в DataStore, а скорее с тем, как она отображается, или, возможно, как его получают. Нам нужно быть в состоянии увидеть весь код, который обрабатывает его, чтобы сказать, какой.