json转Map泛型,json转集合Map泛型工具类
不带泛型限定的问题
- 当json转Map或者json转集合Map不指定泛型时,数据类型json指定默认类型。
- 当我们想尝试把默认类型转成我们想要的数据类型是,比较麻烦而且容易遗漏,需要先判断原来的数据类型,把Object强转成原来的数据类型,再转成我们想要的类型。
工具类
package com.xxx.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
public abstract class JsonUtil {
public final static Type MAP_STRING_LONG = new TypeReference<Map<String, Long>>() {
}.getType();
public final static Type LIST_MAP_STRING_DOUBLE = new TypeReference<List<Map<String, Double>>>() {
}.getType();
public static <T> Map<String, T> json2Map(String jsonString, Type type) {
return JSON.parseObject(jsonString, type);
}
public static <T> List<Map<String, T>> json2ListMap(String jsonString, Type type) {
return JSON.parseObject(jsonString, type);
}
}