泛型类定义:
@Data
public static class PackVO<T> implements Serializable {
private static final long serialVersionUID = 3668608352984438776L;
private Code code;
private T data;
}
@Data
public static class Code implements Serializable {
private static final long serialVersionUID = 8868612548300695977L;
private String errcode;
private String errmsg;
}
json字符串(String rules):
{
"code": {
"errcode": "0",
"errmsg": "success"
}
"data": [
"$.data.userName"
]
}
Fastjson
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public static void main(){
PackVO<List<String>> packVO = JSON.parseObject(rules, new TypeReference<PackVO<List<String>>>(){});
}
Gson
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public static void main(){
Gson gson = new Gson();
Type type = new TypeToken<PackVO<List<String>>>(){}.getType()
PackVO<List<String>> packVO = gson.fromJson(rules,type);
}