GQL: Je le stockage JSON dans le DataStore. Tous JSON est converti en se entités html, comment éviter cela?
-
25-09-2019 - |
Question
Le Tittle dit plus:
Je suis dans le stockage JSON DataStore. Tous JSON est converti en se entités html, comment puis-je éviter cela?
original que j'avais
myJson = db.StringProperty ()
il se plaignait JSON je devais était long et StringProperty avait une limite d'environ 500 caractères. Sugesting utiliser TextProperty à la place.
Il a inséré sans problème, mais maintenant myJson ressemble à ceci quand je vient le chercher à partir de la base de données:
{ "timeUnit": "14", "taskCounter": "0", "dependencyCounter": "0", "tasks": [], "dependencies": []}
Les sugestions?
Edit:
Code:
Modèle:
the_json = db.TextProperty()
Enregistrement:
myObjectKey = request.POST["myKey"]
myJson = request.POST["myJson"]
element = myObject.get(myObjectkey)
logging.error(" -------------------------")
element.the_json = myJson
element.put()
Chargement:
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
Pour ajax jquery J'utilise pour gérer tout. Le JSON est une chaîne normale sans « \ n » en elle.
json_in_the_js = '{ "timeUnit": ...';
La solution 2
Le problème n'a pas été dans le datastore. Il était dans le fait que j'utilisais un modèle pour écrire le JSON dans.
I a généré la réponse à la main avec:
response = HttpResponse(myObject.the_json)
Et il a très bien fonctionné:)
Autres conseils
Comment êtes-vous et d'afficher l'aller chercher JSON? C'est certainement pas un problème avec la façon dont il est stocké dans le magasin de données, mais plutôt la façon dont il est affiché, ou peut-être comment il est recieved. Nous devons être en mesure de voir tout le code qu'il gère à dire qui.