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。