坚持2012 2016-06-30 13:19 采纳率: 0%
浏览 4184
已结题

gson将json格式的字符串转成java对象,json字符串中long怎么转变不会报错?

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

这要怎么解决,求大神指点
  • 写回答

5条回答 默认 最新

  • 坚持2012 2016-06-30 13:25
    关注

    哪位大神知道,麻烦指点一下,这个问题困扰一天了,现在的项目模块化调用的时候post请求的返回值是一个json格式的字符串,我需要把这个json格式的字符串转变成自己需要的对象,但是这个json中的时间类型都是long,然后set到实体类Date类型的时候就总是报错,不知道代码要怎么写,更改实体类怕影响其它模块,求帮忙,没分了,有分都给点

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算