如何在java中使用Jackson向现有Json对象添加/追加新的类对象
我是新杰克逊。我想用现有的json对象附加一个新的类对象。下面是json文件和我的java代码 Responder.json文件 [{“ip”:“10.17.16.56”,“状态”:“已注册”,“已注册”: “2016年9月12日星期一上午18:49”,“managedClusters”:2},{“ip”: “10.17.16.57”,“状态”:“待定”,“注册日期”:“IST上午18:49”, 2016年9月13日星期一,“managedClusters”:3},{“ip”:“10.17.16.58”, “状态”:“未注册”,“已注册”:“IST,周一,九月上午18:49” 2016年第14期,“managedClusters”:2},{“ip”:“10.17.16.59”, “状态”:9月15日星期一上午18:49 2016年,“managedClusters”:3}] Java方法: 我已经编写了下面的方法来添加一个新对象,但我确信这不是正确的方法,因为在将JsonNode变量转换为ObjectNode变量时会出现类强制转换异常如何在java中使用Jackson向现有Json对象添加/追加新的类对象,json,jackson,Json,Jackson,我是新杰克逊。我想用现有的json对象附加一个新的类对象。下面是json文件和我的java代码 Responder.json文件 [{“ip”:“10.17.16.56”,“状态”:“已注册”,“已注册”: “2016年9月12日星期一上午18:49”,“managedClusters”:2},{“ip”: “10.17.16.57”,“状态”:“待定”,“注册日期”:“IST上午18:49”, 2016年9月13日星期一,“managedClusters”:3},{“ip”:“10.17.16
static void jsonOperation() throws JsonProcessingException, IOException {
ObjectMapper mapper = new ObjectMapper();
JsonNode root =mapper.readTree(new File("/opt/jetty/ucod/data/ss/Responders_dummy.json"));
System.out.println("json : "+mapper.writerWithDefaultPrettyPrinter().writeValueAsString(root));
ObjectNode newNode = mapper.createObjectNode();
newNode.put("ip", "10.197.93.62");
newNode.put("status", "Success");
newNode.put("registeredAt", "10/12/2017");
newNode.put("managedClusters", "4");
((ObjectNode)root).set("", newNode); //Getting class cast exception here
}
有人可以使用jackson将新对象附加到现有json文件中(而不是从文件中读取json对象并附加新对象并再次覆盖文件)吗
提前感谢您的帮助。根节点是ArrayNode,而不是ObjectNode根节点是ArrayNode,而不是ObjectNode