当前位置: 首页 > 面试题库 >

Jackson:有没有办法直接将POJO序列化为treemodel?

龙博
2023-03-14
问题内容

我正在寻找一种将POJO直接转换为JacksonTreeModel的方法。我知道存在从POJO到JSON-String的转换,并且支持TreeModel到JSON-String的转换—但是我正在寻找POJO到TreeModel的转换。有办法吗?

用例如下:

  • 服务器端模板是使用Mustache的Java实现完成的。这使用了Jackson的TreeModel。
  • 之后,我需要在客户端上精简版本的TreeModel,因此我希望能够首先过滤TreeModel,将其序列化为JSON,然后将其发送到客户端进行进一步处理。

理想情况下,这涉及两个序列化步骤。但是,在我的解决方法中,我当前使用的是三种-您可以在此处看到:

map = // a map of  pojos with jackson annotations

//pojo >> JSON
StringWriter w = new StringWriter();    
objectmapper.writeValue(new JsonFactory().createJsonGenerator(w), map);
String json = w.toString();
w.close();

//JSON >> Treemodel
JsonNode tree = GenericJcrDTO.mapper.readTree(json);
//filter tree here

//treemodel >>JSON
StringWriter w = new StringWriter();
GenericJcrDTO.mapper.writeValue(new JsonFactory().createJsonGenerator(w), tree);
json = w.toString();
w.close();

任何人?


问题答案:

回答我自己的问题:

JsonNode node = objectMapper.valueToTree(map);


 类似资料:
  • 有人能帮助我,我如何反序列化下面的JSON,我不能改变?我正在使用Jackson进行序列化。 列可以具有未知数量的标题及其值,例如,“Header1”用于行数组中。 到目前为止,我有以下结构: 问题是当我反序列化成QueryResult时映射是空的;我了解TypeReference,但不知道如何指定TypeReference 编辑: 我的对象映射器代码如下: queryResultString的内

  • 背景: 所以我有一个方法调用,我想保存到一个文本文件中。这样做的目的是将可运行的序列化对象保存到文本文件中,并在以后从文本文件中获取要执行的对象。 错误是: 我理解错误,Runnable是一个接口,它不能被序列化。然而,我还能做些什么来解决我的问题吗? 解决方案尝试1。错误

  • 问题内容: 我正在使用Spring&Hibernate开发webapp。 表1:基本表 表2:DetailTable 我需要基于序列表。该中可能包含的值从任一或来自所以应该比较喜欢OR运算符。我正在将hbm.xml用于表。没有注释映射。我加入了像这样的表: 我之前使用过此查询: 我浏览了此http://docs.jboss.org/hibernate/orm/3.3/reference/en/ht

  • 问题内容: 使用Jackson XmlMapper注释,如何将XML反序列化为pojo? 我试图使用这样的东西: 当我尝试使用XmlMapper的readValue()时,出现以下错误: 问题答案: 您的课程与您的课程不符。结构比您想象的要简单。请参见以下示例: 简单用法: 上面的程序打印(适用于您): 也可以看看: jackson-dataformat-xml。 主页:Jackson XML d

  • 我试图找到一种通过json和spring mvc 3.1传递复杂对象的方法。我也在使用knockoutjs,所以将ko.tojson等效为json.stringify。 部署 以下是ajax调用: spring控制器代码如下所示: 使用适当的公共getter/setter。 当我尝试进行这个调用时,我得到一个错误400客户机发送的请求语法不正确()。 复杂对象都是通过json get早些时候获得的