gson将json格式的字符串转成java对象,json字符串中long怎么转变不会报错?
public static void main(String[] args) {
long timel=12323232L;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=sdf.format(timel);
System.out.println(time);//正常
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
String obj="[{\"name\":\"caochuankui\",\"time\":"+timel+"}]";
JSONArray objo=new JSONArray(obj);
GsonTest gt=gson.fromJson(objo.toString(), GsonTest.class);//报错
System.out.println(gt.getTime());
}
}
错误信息如下:
1970-01-01 11:25:23
Exception in thread "main" com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:200)
at com.google.gson.Gson.fromJson(Gson.java:810)
at com.google.gson.Gson.fromJson(Gson.java:775)
at com.google.gson.Gson.fromJson(Gson.java:724)
at com.google.gson.Gson.fromJson(Gson.java:696)
at com.pagecofig.util.GsonTest.main(GsonTest.java:67)
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:387)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:189)
... 5 more
这要怎么解决,求大神指点