Обрабатывать JSONObject внутри другого JSONObject

#java #json #rest #jersey

#java #json #rest #джерси

Вопрос:

Я хочу отправить json, внутри которого есть другой объект json, вот так

 {
     "key1": "value1",
     "key2": "valu2",
     "content": {
         "nestedkey1": "nestedValue1",
         "nestedkey2": "nestedValue2" 
     }
  

}

Объект внутри не имеет никакого представления Java, просто строка в формате json. Как это может быть правильно преобразовано?

Мой подход неверен, я всегда получаю пустую строку для вложенного json. Я использовал Map для этого вложенного объекта, но снова пустую map.

 public class Instance {

private String key1;

private int key2;

private String content;

public String getKey1 {
    return key1;
}

public void setKey1(String key1) {
    this.key1 = key1;
}

public BigDecimal getKey2() {
    return key2;
}

public void setKey2(BigDecimal key2) {
    this.key2 = key2;
}

public String getContent() {
    return content;
}

public void setContent(String content) {
    this.content = content;
}
  

Ответ №1:

Как выполняется сериализация JSON? Если вы не используете Jackson, тогда вы должны использовать.

Джексон может взять Map и перевести его в JSON точно так, как вы хотите, без какой-либо дополнительной настройки. С другой стороны, если вы используете JSON-плагин Jersey, вам пришлось бы написать подкласс Map и добавить к нему аннотации JAXB — своего рода заноза в заднице.