JSON对象转泛型
使用FastJSON将字符串类型的JSON对象转为泛型对象类型,需要特殊处理下才能正常转换。
json使用的是fastjson,json转换对象的时候,如果对象中存在泛型对象,则需要特殊处理下才能正常转换。
使用的是fastjson中的TypeReference来进行转换:
A<B> resultObj =JSON.parseObject(“转换json”,new TypeReference<A<B>>(){});
其中A为接收类型,B为A的泛型类,C为B的泛型类
例如:将
{"code":"0","msg":null,"data":["a36a655206394154a14918d6aa6d73f41,abalgja4918d6aasgjeap"]}
转为
public class ActionResult<T> implements Serializable {
private static final long serialVersionUID = 5744675651322306036L;
private String code;
private String msg;
private T data;
}
泛型接受为Set类型时,可以使用
String resultString = "{\"code\":\"0\",\"msg\":null,\"data\":[\"a36a655206394154a14918d6aa6d73f41\"]}";
ActionResult<Set<String>>result = JSON.parseObject(resultString,new TypeReference<ActionResult<Set<String>>>(){});
也可以转为List类型,1.2.72 可以
2.0.12.graal 无法调用