当前位置: 首页 > 知识库问答 >
问题:

在Spring DSL中使用Jackson对joda DateTime进行Camel JSON序列化

姚树
2023-03-14

我一直在使用骆驼泉DSL中的json、dataFormats和马歇尔/un马歇尔标签,如以下url和applicationContext.xml.的片段所述

http://camel.apache.org/json.html

...

<dataFormats>
  <json id="json" library="Jackson" unmarshalTypeName="com.example.Foo" />
</dataFormats>

...

 <route>
     <from uri="direct:inPojo"/>
     <marshal ref="json"/>
 </route>
 <route>
     <from uri="direct:backPojo"/>
     <unmarshal ref="json"/>
 </route>

 ...

我想将我的joda DateTime对象序列化为long,如下所述:

http://wiki.fasterxml.com/JacksonFAQDateHandling

我知道我需要注册单独的Jackson-datatype-Joda模块,以及当我有一个ObjectMapper的实例时该如何做,如How serialize Joda DateTime with Jackson JSON processor?,但是有没有一种方法可以使用Camel/Spring XML标签来实现呢?

共有1个答案

邵胜涝
2023-03-14

对象映射器传入杰克逊数据格式。我没有使用SpringDSL,但你应该能够做同样的事情,就像我在Java DSL中所做的那样:

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule( ... );
JacksonDataFormat df = new JacksonDataFormat(mapper, Pojo.class);
from("direct:source").unmarshal(df);
 类似资料:
  • 问题内容: 我使用杰克逊测试了Scala案例类的序列化。 DeserializeTest.java 福斯卡拉 当我运行上述Java类时,抛出了一个异常: 我如何(反)序列化Scala案例类? 问题答案: Jackson希望您的类是JavaBean,这意味着它希望该类的每个属性都具有getX()和/或setX()。 选项1 您可以使用注释BeanProperty在Scala中创建JavaBean类。

  • 问题内容: 我整天都在寻找可以解决这个问题的东西,但是到目前为止我还没有碰到很多运气。 我的问题很简单:如何使用Jackson正确反序列化匿名对象。 在出现异常之前,此输出为:JSON = [“ com.foo.test.JacksonTest $ 1”,{“ value”:5}]: 线程“主”中的异常com.fasterxml.jackson.databind.JsonMappingExcept

  • 来自REST服务的json对象 使用JacksonInFiveMinutes中的代码 ObjectMapper mapper=new ObjectMapper(); Map userData=mapper.read值(webResource.queryParams(queryParams). get(String.class);, Map.class); 在哪里: 从REST服务返回json 从J

  • 我想使用杰克逊2.13.3将数据结构序列化为JSON。我创建了一个简化的示例数据结构来显示所需的序列化是什么。 数据结构由一个主组成,其中包含一个的列表。元素之间有一些链接。 在示例中,我创建了元素的以下链接结构: 目标是序列化通过链接信息的ID表示链接数据。元素的完全序列化应该只发生在容器的顶级列表中。这与jackson在序列化过程中遇到元素的顺序不一致。 我想得到以下输出:

  • 问题内容: 我有兴趣对流中的列表进行排序。这是我正在使用的代码: 我想念什么吗?列表未排序。 它应该根据具有最低值的项目对列表进行排序。 以及打印方法: 问题答案: 这与对参数引用进行排序的地方不同。在这种情况下,您将得到一个排序后的流,最终需要将其收集并分配给另一个变量: 您只是错过了分配结果