java - 如何更改json中的日期格式
问题描述
如何替换json中的数据格式?例如,我有这样的 json 对象
{
"dt1":"12-12-2020",
"street":"test",
"city":"test2",
"country":"test3",
"dt2":"12-11-2020"
}
结果我想得到
{
"dt1":"12/12/2020",
"street":"test",
"city":"test2",
"country":"test3",
"dt2":"12/11/2020"
}
我有不同的字段名称,所以我们不需要依赖字段名称只需要替换数据格式......我该怎么做???
解决方案
我想到的一种方法是您可以使用Gson库将一种 json 格式转换为另一种格式。就像您使用 Gson.fromJson 将 Json 字符串转换为 Java 对象,然后使用Gson.toJson从Java 对象转换回所需的 Json 字符串格式。让我分享您尝试的示例代码:
Gson gsonFormat1 = new GsonBuilder().setDateFormat("mm-dd-yyyy").create();
String format1 = "{\n" +
"\"dt1\":\"12-12-2020\",\n" +
"\"street\":\"test\",\n" +
"\"city\":\"test2\",\n" +
"\"country\":\"test3\",\n" +
"\"dt2\":\"12-11-2020\"\n" +
"}";
//Assume Sample is POJO for above json
Sample sampleFormat1 = gsonFormat1.fromJson(format1, Sample.class);
Gson gsonFormat2 = new GsonBuilder().setDateFormat("mm/dd/yyyy").create();
//Your output String here
String s2 = gsonFormat2.toJson(sampleFormat1, Sample.class);
System.out.println("Format2 String => "+s2);
使用上述技术,您不需要知道任何日期字段名称。基本上所有的日期类型字段都可以转换为目标格式。希望这可以帮助。
推荐阅读
- azure - QnA Maker 在 MS Teams 中部署时不显示按钮
- javascript - 如何在窗口关闭 MSCRM 上将值从 HTML webresource 传递到 javascript
- c++ - 如何在 C++ 中使用 unix 时间格式化 time_t 中的时间/日期字符串
- powerbi - 在工作区中找不到发布到 Web
- android - 如何测试在其中创建新对象的演示者方法?
- javascript - 如何在地图框中更改语言
- mysql - SQL Select SUM() 组函数使用无效
- javascript - 如何在按钮单击时从数组中删除对象?
- ruby - 强制法拉第适配器 :typhoeus 使用 HTTP/2 进行请求
- css - 如何解决在materialize中应用checkbox消失的现象