fastjson反序列化ZonedDateTime格式的时间

来源:互联网 发布:免费刷q币软件 编辑:程序博客网 时间:2024/05/19 19:13

1. JavaBean

      Person person = JSON.parseObject(jsonString, Person.class);

2. List<JavaBean>

      List<Person> listPerson =JSON.parseArray(jsonString, Person.class);

3. List<String>

      List<String> listString = JSON.parseArray(jsonString, String.class);

4. List<Map<String,Object>>

      List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){});  (注意:此处可看出fastjson反射机制比gson更准确, id = 1001 通过fastjson反射仍是 id = 1001 , 而通过gson反射结果 为 id =1001.0 ;


另外,如果fastjson反序列化时间时,如果时间是ZonedDateTime的格式,会报错。处理方式如下:

JSONObject.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.mmm";

ModuleDTO moduleDto = JSONObject.parseObject(object.toJSONString(), ModuleDTO.class);

如果是数组:

JSONArray.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.mmm";

List<Device> devices = JSONArray.parseArray(object.toJSONString(), Device.class);

应该也可以用JOSN代替JSONObject和JSONArray。

原创粉丝点击