java Gson json格式化程序,是否可以输出Z而不是+0000?

问题描述 投票:0回答:1

我需要读入一些json,对其进行排序,然后再次输出。我用它来反序列化和序列化 json:

    private static Gson gson = new GsonBuilder()
        .setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
        .create();

如果我将其解析为日期:

"activedDate": "2021-04-20T21:48:04.107Z",

然后再次将其输出为Json,我得到这个:

"activedDate": "2021-04-20T21:48:04.107+0000",

但如果可能的话,我需要它有 Z 而不是 +0000。

这可能吗(无需破解结果字符串)?

我因此强制我的笔记本电脑使用UTC:

java -Duser.timezone=UTC  -jar my.jar
java json gson
1个回答
0
投票

是的,使用

X
。来自DateTimeFormatter 文档

   X       zone-offset 'Z' for zero    offset-X          Z; -08; -0830; -08:30; -083015; -08:30:15;

因此,像

yyyy-MM-dd'T'HH:mm:ss.SSSX
这样的格式字符串将为您提供像
2022-07-26T16:46:35.247Z
这样的日期。

© www.soinside.com 2019 - 2024. All rights reserved.