7

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

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

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

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

4

2 回答 2

7

考虑以下示例

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 解析器/生成器的优势。

于 2013-09-20T13:34:50.647 回答
4

GSON 将在编组时自动转义字符串。你不必担心。您可以从这里下载 gson 库

于 2013-09-26T11:41:07.860 回答