/ / Cómo escapar de una cadena para almacenar en JSON - java, javascript, json, gson

Cómo escapar de una cadena para almacenar en JSON - java, javascript, json, gson

Tengo esta clase en una aplicación web de java spring.

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

Necesito convertir esto en un objeto json. El problema es que el texto de la pregunta puede contener cualquier cosa. Podría ser una pregunta sobre un objeto json, por lo que un objeto json en sí mismo puede ser parte de la pregunta. Estoy usando Google-gson para convertir esta clase en un objeto JSON.

¿Debo escapar de la preguntaTexto para que nocausar un problema al convertir a JSON. Si es así, ¿cómo debo hacerlo? Si no es así, entonces google-gson debe, de alguna forma, escapar del questionText para representarlo dentro del objeto json. En ese caso, en el lado del cliente, ¿cómo puedo volver a convertirlo utilizando el script java y mostrarlo al usuario tal como está?

Respuestas

6 para la respuesta № 1

Considere el siguiente ejemplo

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.
}

y su salida

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

Los personajes que necesitaban escapar. " y Se han escapado por el generador. Esta es la fuerza de JSON Parser / Generators.


3 para la respuesta № 2

GSON escapará automáticamente de la cadena cuando la esté formando. No tienes que preocuparte por eso. Puedes descargar la biblioteca gson desde aquí