7

私はこのクラスをJava Spring Webアプリケーションに持っています。

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

これをjsonオブジェクトに変換する必要があります。問題は、質問テキストに何かが含まれている可能性があることです。json オブジェクトに関する質問である可能性があるため、json オブジェクト自体が質問の一部である可能性があります。Google-gson を使用して、このクラスを JSON オブジェクトに変換しています。

JSON への変換中に問題が発生しないように、questionText をエスケープする必要があります。はいの場合、どのようにすればよいですか?いいえの場合、google-gson は、json オブジェクト内でそれを表すために、questionText を何らかの方法でエスケープする必要があります。その場合、クライアント側で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 に答える