????????解析 JSON,并将其转换为对应的数据结构。转换普通对象时,可以直接使用 Class 实例进行直接转换:
A a = JSON.parseObject(str, A.class);
? ? ? ? 但是,如果是 类似 Map这里集合(带有泛型)对象,直接转换则格式可能并不正确:
// 如果需要Map<String, String> 结果不是想要的格式
Map a = JSON.parseObject(str, Map.class)
? ? ? ? 使用?TypeReference 进行解析:
// 可以直接使用
HashMap<String, String> map = JSONObject.parseObject(str, new TypeReference<HashMap<String, String>>(){});
// 其他类型对象
EnjoyResponseDTO<EnjoyPageResponseDataDTO<Long>> result = JSONObject.parseObject(str, new TypeReference<EnjoyResponseDTO<EnjoyPageResponseDataDTO<Long>>>(){});
// 或者type的构造中使用参数
EnjoyResponseDTO<EnjoyPageResponseDataDTO<T>> result = JSONObject.parseObject(str, new TypeReference<EnjoyResponseDTO<EnjoyPageResponseDataDTO<T>>>(Long.class){});
? ? ? ? 在?TypeReference 的泛型中传入需要反序列化的泛型对象即可。