Субдинамическое сопоставление дерева 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"
  }
}

0 ответов

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