- 对象转json字符串 && json字符串转对象
//参数为一个Object对象
String str = JSON.toJSONString(obj)
//JSON字符串转对象
parseObject(String json, Class<T> clazz, Feature... features)
//JSON字符串转Map时会出现元素顺序错乱的情况,此时要加上Feature.OrderedField保证转换前后元素顺序一致
LinkedHashMap map = JSON.parseObject(str,LinkedHashMap.class, Feature.OrderedField)
- json字符串转List<T>
List<MedicalInvoiceDetail> detailList = JSONArray.parseArray(p.getCheckDetail(),MedicalInvoiceDetail.class);
- json字符串转<List<Map<String, Object>>>
JSON.parseObject(p.getRuleContent(), new TypeReference<List<Map<String, Object>>>() {})
在使用fastjson时,经常因为泛型的反序列化,从而使用到TypeReference,使用TypeReference可以指定反序列化的类型
- List<Map> 转 List<T>
JSONArray jsonArray = new JSONArray();
List<Map<String,Object>> listMap = response.getData();
jsonArray.addAll(listMap);
List<User> list = jsonArray.toJavaList(User.class);
- Map转实体
JSON.parseObject(JSON.toJSONString(map), User.class);