Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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 Jackson ZoneDateTime序列化一次Z一次+;02:00_Java_Json_Serialization_Jackson_Jsr310 - Fatal编程技术网

Java Jackson ZoneDateTime序列化一次Z一次+;02:00

Java Jackson ZoneDateTime序列化一次Z一次+;02:00,java,json,serialization,jackson,jsr310,Java,Json,Serialization,Jackson,Jsr310,您好,我正在使用jackson 2.8.8和jackson-datatype-jsr310扩展。我注意到一个时间日期时间被序列化为: "transactionDateTime" : "2017-06-13T16:21:40.123Z" 但另一次进入: "transactionDateTime" : "2017-06-13T16:21:40.123+00:00" 第一个选项显示了大部分时间,但为什么有时候Jackson会生成第二个呢?我的配置: jackson2ObjectMapper

您好,我正在使用jackson 2.8.8和jackson-datatype-jsr310扩展。我注意到一个时间日期时间被序列化为:

"transactionDateTime" : "2017-06-13T16:21:40.123Z"
但另一次进入:

"transactionDateTime" : "2017-06-13T16:21:40.123+00:00"
第一个选项显示了大部分时间,但为什么有时候Jackson会生成第二个呢?我的配置:

    jackson2ObjectMapper.setVisibility(PropertyAccessor.ALL, Visibility.NONE);
    jackson2ObjectMapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);

    final JavaTimeModule javaTimeModule = new JavaTimeModule();
    jackson2ObjectMapper.registerModule(javaTimeModule);

    jackson2ObjectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
    jackson2ObjectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);

它总是以同样的方式处理相同的值,还是完全随机的?我怀疑它是随机的,所以也许你可以生成一个?你的对象场是如何映射/注释的?产生每个输出的值是什么?始终是相同的值,字段对象不是带注释的简单私有最终分区DateTime transactionDateTime;两个序列化字符串都是有效的ISO 8601字符串。你问这个问题是因为好奇(我是!)还是因为某种原因你需要其中一个?你的标题是
+02:00
,但你的JSON示例是
+00:00
。你得到了什么?