美文网首页
将一个String类型的json数据转成对应实体的List集合(

将一个String类型的json数据转成对应实体的List集合(

作者: 愤怒的_菜鸟 | 来源:发表于2018-02-23 16:48 被阅读438次

    1、使用下面这个方法做转换,可以说是一个工具吧,注意一下,constructParametricType()这个方法其实已经作废了
    public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) {
    ObjectMapper mapper = new ObjectMapper();
    return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses);
    }
    2、下面来转一下,这里的PsOrg是一个POJO
    String returnObj = jso.get("returnObj").toString();
    JavaType javaType = getCollectionType(ArrayList.class, PsOrg.class);
    List<PsOrg> psOrgList = (List<PsOrg>) objectMapper.readValue(returnObj, javaType);
    3、还有一些其他方法,比如google的Gson,方法里的str就是一个json类型的字符串
    Gson gson = new Gson();
    List<String> mfgLines = gson.fromJson(str, new TypeToken<List<String>>() {}.getType());
    4、还有个更方便的方法,使用阿里的fastjson,只需要一行代码
    List<Model> list = JSON.parseArray("你的json字符串", Model.class); (Model是你的实体)
    5、附录:我们看一下那个作废的方法以及新的替换方法
    源码
    @Deprecated
    public JavaType constructParametricType(Class<?> parametrized, Class<?>... parameterClasses) {
    return constructParametrizedType(parametrized, parametrized, parameterClasses);
    }
    这是在网上找资料时,摘抄的。目前只用过阿里的fastjson,比较方便,其他方法没用过,如果摘抄有误请谅解。

    相关文章

      网友评论

          本文标题:将一个String类型的json数据转成对应实体的List集合(

          本文链接:https://www.haomeiwen.com/subject/ervxxftx.html