gpt4 book ai didi

java - 在jsp中设置Gson的日期格式

转载 作者:行者123 更新时间:2023-12-01 19:15:57 25 4
gpt4 key购买 nike

我正在使用 Gson 将 Json 转换为 Java 中的对象。我尝试转换的 Json 结构非常复杂。

{
"name": "0",
"dtExpiration": "07/14/2011 00:00",
"quotaList": null,
"question_array": [
{
"question": "0",
"questionType": "resposta de texto",
"min": "null",
"max": "null",
"responceList": [],
"answer_array": [
{
...

1.问题是:gson.fromJson(json, SuperClass.class) 能工作吗,因为这个类有 ArrayLists?

我看不出它是否有效,因为我的日期格式有问题。程序抛出异常:

Caused by: java.text.ParseException: Unparseable date: "07/15/2011 00:00"

所以我尝试使用以下方式指定格式:

GsonBuilder gson = new GsonBuilder().setDateFormat("mm/dd/yyyy hh:mm");

但结果是一样的。

2.你能解释一下如何使用GsonBuilder更改日期格式吗?

谢谢

最佳答案

1.The question is: will gson.fromJson(json, SuperClass.class) work, as this class has ArrayLists?

是的,只要 SuperClass 结构与 JSON 结构匹配。

2.Can you explain me how to change date format using GsonBuilder?

使用大“M”表示一年中的月份。小“m”代表小时中的分钟。

这是一个有效的示例。

import java.io.FileReader;
import java.util.Date;
import java.util.List;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class Foo
{
public static void main(String[] args) throws Exception
{
Gson gson = new GsonBuilder().setDateFormat("MM/dd/yyyy hh:mm").create();

SuperClass sc = gson.fromJson(new FileReader("input.json"), SuperClass.class);
System.out.println(gson.toJson(sc));
// {"name":"0","dtExpiration":"07/14/2011 12:00","question_array":[{"question":0,"questionType":"resposta de texto","min":"null","max":"null","responceList":[],"answer_array":[{"id":1,"answer":"yes"},{"id":2,"answer":"no"}]}]}
}
}

class SuperClass
{
String name;
Date dtExpiration;
List<String> quotaList;
Question[] question_array;
}

class Question
{
int question;
String questionType;
String min;
String max;
List<String> responceList;
Answer[] answer_array;
}

class Answer
{
int id;
String answer;
}

请注意,在我的系统上,它从 24 小时时钟显示更改为 12 小时时钟显示。

关于java - 在jsp中设置Gson的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6696082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com