/ / Comment échapper à une chaîne à stocker en JSON - java, javascript, json, gson

Comment échapper à une chaîne à stocker dans JSON - java, javascript, json, gson

J'ai cette classe dans une application web java spring.

public class Question{
private String questionText;
//getters and setters.
}

J'ai besoin de convertir ceci en objet JSON. Le problème est que le texte de la question peut contenir n'importe quoi. Il peut s'agir d'une question sur un objet JSON, de sorte qu'un objet Json lui-même peut faire partie de la question. J'utilise Google-gson pour convertir cette classe en objet JSON.

Dois-je échapper à la questionText afin qu'il neprovoquer un problème lors de la conversion en JSON. Si oui, comment devrais-je le faire? Si non, alors google-gson doit savoir comment échapper à la questionText pour la représenter dans l'objet json. Dans ce cas, côté client, comment puis-je le reconvertir à l'aide d'un script java et l'afficher tel quel à l'utilisateur?

Réponses:

6 pour la réponse № 1

Considérez l'exemple suivant

public static void main(String[] args) {
Question q = new Question();
q.questionText = "this " has some :" characters that need \escaping \";

Gson g = new Gson();
String json = g.toJson(q);
System.out.println(json);
}

public static class Question{
public String questionText;
//getters and setters.
}

et sa sortie

{"questionText":"this " has some :" characters that need \escaping \"}

Les personnages qui avaient besoin de s'échapper " et ont été échappés par le générateur. C'est la force de JSON Parser / Generators.


3 pour la réponse № 2

GSON échappera automatiquement à la chaîne lors de sa préparation. Vous n’avez pas à vous en préoccuper. Vous pouvez télécharger la bibliothèque gson à partir de ici