1. 程式人生 > >fastjson反序列化ZonedDateTime格式的時間

fastjson反序列化ZonedDateTime格式的時間

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。