List及 JSONArray互转工具方法

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


/**
     * 根据JSONArray String获取到List
     * @param 
     * @param 
     * @param jArrayStr
     * @return
     */
    public static  List getListByArray(Class class1,String jArrayStr) {
        List list = new ArrayList<>();
        JSONArray jsonArray = JSONArray.parseArray(jArrayStr);
        if (jsonArray==null || jsonArray.isEmpty()) {
            return list;//nerver 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){
        JSONArray jsonArray = new JSONArray();
        if (list==null ||list.isEmpty()) {
            return jsonArray;//nerver return null
        }

        for (Object object : list) {
            jsonArray.add(object);
        }
        return jsonArray;
    }

你可能感兴趣的:(小技巧)