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。