Как настроить objectMapper fastxml для правильной обработки пустой строки ""

Я использую ObjectMapper fastxml для сериализации Java-объекта, и у меня возникла проблема с одним из полей.

Обзор.java

      public class Survey {

  private String id;
  private String answers;

  //getter and setter
}

Это код сериализации:

      ObjectMapper om = new ObjectMapper();                   
ObjectWriter ow = om.writer().withDefaultPrettyPrinter();           
String json = ow.writeValueAsString(taskScheme.getSurvey());

проблема в том, что «ответы» содержат несколько значений, а процесс сериализации экранирует все двойные кавычки, например:

      "answers" : {"question3":["Item4"]} -> "answers" : "{\"question3\":[\"Item4\"]}"

Чтобы избежать такой ситуации, я добавил в поле «ответы» аннотацию @JsonRawValue. Это решило мою проблему, но создало новую, потому что теперь, когда «ответы» содержат пустую строку, результирующая сериализация становится такой:

      "answers" : "" -> "answers" :

что даже не является допустимым выводом JSON...

Как мне решить эту проблему?

Заранее спасибо.

0 ответов

Другие вопросы по тегам