使用FastJSON将字符串类型的JSON对象转为泛型对象类型,需要特殊处理下才能正常转换。

json使用的是fastjson,json转换对象的时候,如果对象中存在泛型对象,则需要特殊处理下才能正常转换。

     使用的是fastjson中的TypeReference来进行转换:

A<B<C>> resultObj =JSON.parseObject("转换json",new TypeReference<A<B<C>>>(){});

其中A为接收类型,B为A的泛型类,C为B的泛型类

     例如:将

{"code":"0","msg":null,"data":["a36a655206394154a14918d6aa6d73f41"]}

     转为

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类型

GitHub 加速计划 / fastj / fastjson
3
1
下载
FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
最近提交(Master分支:1 个月前 )
c942c834 - 2 年前
5bc4709b - 2 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐