2013-09-20 6 views
6

У меня есть этот класс в веб-приложении java spring.Как избежать строки для хранения в JSON

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

Мне нужно преобразовать это в объект json. Проблема в том, что текст вопроса может содержать что угодно. Это может быть вопрос об объекте json, поэтому сам объект json может быть частью вопроса. Я использую Google-gson для преобразования этого класса в объект JSON.

Должен ли я уйти от questionText, чтобы он не вызывал проблемы при преобразовании в JSON. Если да, как мне это сделать? Если нет, то google-gson должен каким-то образом избегать вопросаText, чтобы представить его в объекте json. В этом случае, на стороне клиента, как я могу преобразовать его с помощью java-скрипта и отобразить его пользователю так, как он есть?

+0

Я бы посоветовал использовать классы, предоставленные самими JSON, вы можете найти их по адресу: http://json.org/java/ –

+1

GSON автоматически выйдет из строя при его сортировке. – Emiel

ответ

6

Рассмотрим следующий пример

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 Parser/Generators.

3

GSON автоматически удалит строку при ее сортировке. Вам не о чем беспокоиться. Вы можете скачать gson library с here

Смежные вопросы