杰克逊的ObjectMapper valueToTree方法也写入valueType和积分,但没有实际值

问题描述

我正尝试将具有JsonObject的JAVA POJO对象转换为字符串,如下所示:

   class MyPojo {
      public MyPojo(String sName,JsonObject obj) 
      {
         this.sName = sName;
         this.tJsonObj = obj;
      }
      public String sName;
      public javax.json.JsonObject tJsonObj;
   };

    javax.json.JsonObject jsonObj = JsonUtils.toJsonObject("{\"key\": 123}");
    ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper.ObjectMapper();
    JsonNode node = mapper.valuetoTree(new MyPojo("myname",jsonObj));
    String jsonStr = node.toString();

我得到的jsonStr值是:

{"sName":"myname","tJsonObj":{"key":{"integral":true,"valueType":"NUMBER"}}}

如何获取jsonStr值:

{"sName":"myname","tJsonObj":{"key":123}}

JsonUtils.toJsonObject是我自己的实用程序方法,用于从String中获取JsonObject。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)