Java 在jsp中的Gson中设置日期格式
我使用Gson将Json转换为Java中的对象。我试图转换的Json具有非常复杂的结构Java 在jsp中的Gson中设置日期格式,java,json,gson,date-format,Java,Json,Gson,Date Format,我使用Gson将Json转换为Java中的对象。我试图转换的Json具有非常复杂的结构 { "name": "0", "dtExpiration": "07/14/2011 00:00", "quotaList": null, "question_array": [ { "question": "0", "questionType": "resposta de texto", "min": "null",
{
"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.fromJsonjson、SuperClass.class会工作吗,因为这个类有ArrayList
我看不出它是否有效,因为我的日期格式有问题。程序引发异常:
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.问题是:gson.fromJsonjson、SuperClass.class会工作吗,因为这个类有ArrayList
可以,前提是超类结构与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": [
{
...
2.您能解释一下如何使用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小时时钟显示
1.问题是:gson.fromJsonjson、SuperClass.class会工作吗,因为这个类有ArrayList
可以,前提是超类结构与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": [
{
...
2.您能解释一下如何使用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小时时钟显示。我已经更改了它,但得到了相同的异常!我做得对吗:首先,我正在创建Gson对象,然后这次使用m设置上面指定的日期格式,然后尝试转换json?非常感谢!我就快到了。。当我在做Gson-Gson=new-GsonBuilder时,是否得到了不兼容的类型错误?我已经更改了它,但得到了相同的异常!我做得对吗:首先,我正在创建Gson对象,然后这次使用m设置上面指定的日期格式,然后尝试转换json?非常感谢!我就快到了。。当我在做Gson-Gson=new-GsonBuilder时,是否得到了不兼容的类型错误