Субдинамическое сопоставление дерева json Johnzon
В Apache Johnzon есть ли способ получить общее поле, содержащее динамические данные JSON, не отображаемые на предварительно определенный POJO? В Джексоне вы можете просто использовать ObjectNode в качестве общего контейнера, выполнить некоторую обработку JSON, а затем записать весь объект в формате JSON.
В Джексоне это работает, как и ожидалось, с использованием ObjectNode, вот мой код:
public class JsonTest {
private String myStaticKey = "foo";
private ObjectNode jsonData;
//code to initialize ObjectNode + getters + setters
@JsonIgnore
public void addValue(String key, String value) {
jsonData.put(key, value);
}
@JsonIgnore
public String toJson() {
return new ObjectMapper().writeValueAsString(this);
}
}
public class MainTest {
public static void main(String[] args) {
JsonTest t = new JsonTest();
t.addValue("myDynamicKey", "bar");
System.out.println(t.toJson());
}
}
Ожидаемый результат:
{
"myStaticKey": "foo",
"jsonData": {
"myDynamicKey": "bar"
}
}