Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JacksonJaxbJsonProvider日期格式_Java_Json_Jackson_Cxf_Simpledateformat - Fatal编程技术网

Java JacksonJaxbJsonProvider日期格式

Java JacksonJaxbJsonProvider日期格式,java,json,jackson,cxf,simpledateformat,Java,Json,Jackson,Cxf,Simpledateformat,我们将CXF与Jackson(JacksonJaxbJsonProvider)结合使用,将域对象打包成JSON。一切都很好,除了我不能按照我希望的方式安排日期。简而言之,我想要的是将日期输出为从纪元开始的秒(也称为unix时间)。使用SerializationConfig.Feature.WRITE_DATES_作为时间戳,这在一定程度上是可行的,但这给了我毫秒,而不是秒。由于我的日期没有这么高的精度(而且永远不会),我在每个时间戳上浪费4个字节 据我所知,控制日期格式的唯一方法是在Object

我们将CXF与Jackson(JacksonJaxbJsonProvider)结合使用,将域对象打包成JSON。一切都很好,除了我不能按照我希望的方式安排日期。简而言之,我想要的是将日期输出为从纪元开始的秒(也称为unix时间)。使用
SerializationConfig.Feature.WRITE_DATES_作为时间戳
,这在一定程度上是可行的,但这给了我毫秒,而不是。由于我的日期没有这么高的精度(而且永远不会),我在每个时间戳上浪费4个字节

据我所知,控制日期格式的唯一方法是在
ObjectMapper
上使用
setDateFormat()
。此函数接受
日期格式
。但是,它似乎不像
日期格式
可以输出秒数,只输出毫秒


还有其他方法吗?

您需要编写一个自定义序列化程序/反序列化程序。但为什么它如此重要?只需在代码中添加
/1000
,这很重要,因为我需要尽可能减少数据量。仅仅因为CXF/Jackson这样说,就向客户发送不必要的大量数据也是错误的。如果您觉得自定义序列化器/反序列化器是最佳选择,您可能会想出一个答案吗?这样我就可以把它标记为正确的:)XmlAdapter就是您想要的。请查看以下内容:。