java - 如何转义字符串以存储在 JSON 中

标签 java javascript json gson

我在 java spring web 应用程序中有这个类。

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

我需要将其转换为 json 对象。问题是,问题文本可能包含任何内容。这可能是关于 json 对象的问题,因此 json 对象本身可能是问题的一部分。我正在使用 Google-gson 将此类转换为 JSON 对象。

我是否应该转义问题文本,以便它在转换为 JSON 时不会导致问题。如果是,我应该怎么做?如果不是,那么 google-gson 必须以某种方式转义问题文本以在 json 对象中表示它。在这种情况下,在客户端,如何使用 java 脚本将其转换回原样显示给用户?

最佳答案

考虑下面的例子

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

及其输出

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

需要转义的字符 "\ 已经被生成器转义了。这是 JSON 解析器/生成器的强项。

关于java - 如何转义字符串以存储在 JSON 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18918044/

相关文章:

php - 使用弹出窗口打开我的网站

javascript - JSON 解析错误 : Unrecognized token '<' In angular

c++ - 从 C# : WebMessageBodyStyle. Wrapped 或 WebMessageBodyStyle.Bare 生成 JSON?

java - 无法将类型 'java.lang.String' 的值转换为所需类型 'java.util.Date'

java - 用Java生成随机数?

javascript - 使用 document.write 显示 window.location.search 是否不安全/易受 xss 攻击?

javascript - 如何重新加载当前页面?

python - 查找 {} 之间唯一的多个相似的 json 字符串

java - 我应该如何让程序停止并等待某些事情? java

arangoDB 上的 Java 集合