Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了根据JSONArray str获得对象List大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在coding中,我发现很多时候我们都需要把一个list/array存到数据库
然后在需要返回给前端的时候,或者我们需要操作这个的时候,我们需要把这个String又转换成List< Object>,奇怪的是fastJson的JSONArray居然不提供这个功能。而net.sf.json则是有这个功能了。
没办法,加jar肯定不好,那只有自己搞定了。

/** * 根据JSONArray String获取到List * @param <T> * @param <T> * @param jArrayStr * @return */
    public static <T> List<T> getListByArray(Class<T> class1,String jArrayStr) {
        List<T> list = new ArrayList<>();
        JSONArray jsonArray = JSONArray.parseArray(jArrayStr);
        if (jsonArray==null || jsonArray.isEmpty()) {
            return null;
        }
        for (Object object : jsonArray) {
            JSONObject jsonObject = (JSONObject) object;
            T t = JSONObject.toJavaObject(jsonObject,class1);
            list.add(t);
        }
        return list;
    }

    /** * 根据List获取到对应的JSONArray * @param list * @return */
    public static JSONArray getJSONArrayByList(List<?> list){
        if (list==null ||list.isEmpty()) {
            return null;
        }
        JSONArray jsonArray = new JSONArray();
        for (Object object : list) {
            jsonArray.add(object);
        }
        return jsonArray;
    }

    /** * main方法 用于测试 * @param args */
    public static void @H_201_20@main(String args[]) {
        List<PortMetadataVo> portMetadataVos = getListByArray(PortMetadataVo.class,"[{'k8ssvcFlag':1,'protocol':'TCP','port':7880,'domain':'','targetPort':8082}]");
        for (PortMetadataVo portMetadataVo : portMetadataVos) {
            System.out.println(portMetadataVo.getTargetPort());
        }

        System.out.println(getJSONArrayByList(portMetadataVos).toJSONString());
    }

大佬总结

以上是大佬教程为你收集整理的根据JSONArray str获得对象List全部内容,希望文章能够帮你解决根据JSONArray str获得对象List所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。