FastJson简单封装

来源:互联网 发布:避孕套品牌 知乎 编辑:程序博客网 时间:2024/06/04 19:03

这里封装了7个使用json的常用方法:

  1. 将json字符串转为对象
  2. 将json字符串转为对象list
  3. 将java list数组转为json array字符串
  4. 将java对象转成json字符串
  5. 将java list数组转为json array对象
  6. 将java对象转为json对象
  7. 将json字符串转为json对象或数组



封装类:

public class FastJsonUtil {    /**     * Author:ZhangHuanMing     * Name: toBean     * Time:2017年7月13日下午2:42:03     * Description: translate jsonString to bean     * parameter:jsonString,beanClass     * return: T     */    public static <T> T toBean(String jsonString,Class<T> beanClass){        T t = JSONObject.parseObject(jsonString, beanClass);        return t;    }    /**     * Author:ZhangHuanMing     * Name: toBeanList     * Time:2017年7月13日下午3:01:56     * Description: translate jsonString to bean list     * parameter:jsonString,beanClass     * return: List<T>     */    public static <T> List<T> toBeanList(String jsonString,Class<T> beanClass){        List<T> t = JSONObject.parseArray(jsonString, beanClass);        return t;    }    /**     * Author:ZhangHuanMing     * Name: listToJsonStr     * Time:2017年7月13日下午3:20:52     * Description: translate bean list to jsonString     * parameter:list     * return: String     */    public static <T> String listToJsonStr(List<T> list){        String jsonArrayString = JSONObject.toJSONString(list);        return jsonArrayString;    }    /**     * Author:ZhangHuanMing     * Name: listToJSONArr     * Time:2017年7月13日下午3:33:32     * Description: translate bean list to json array     * parameter:list     * return: JSONArray     */    public static <T> JSONArray listToJSONArr(List<T> list){        JSONArray array = (JSONArray) JSONObject.toJSON(list);        return array;    }    /**     * Author:ZhangHuanMing     * Name: beanToJsonStr     * Time:2017年7月13日下午3:26:56     * Description: translate bean to jsonString     * parameter:t     * return: String     */    public static <T> String beanToJsonStr(T t){        String jsonObjectString = JSONObject.toJSONString(t);        return jsonObjectString;    }    /**     * Author:ZhangHuanMing     * Name: beanToJsonObj     * Time:2017年7月13日下午3:38:23     * Description: translate bean to json object     * parameter:t     * return: JSONObject     */    public static <T> JSONObject beanToJsonObj(T t){        JSONObject json = (JSONObject) JSONObject.toJSON(t);        return json;    }    /**     * Author:ZhangHuanMing     * Name: jsonStrToObjArr     * Time:2017年7月13日下午3:52:37     * Description: translate json string to json object or array     * parameter:     * return: T     */    public static <T> T jsonStrToObjArr(String jsonStr){        T t = (T) JSONObject.parse(jsonStr);        return t;    }}

Jnuit测试类

public class FastJsonTest {    @Test    public void toBean() {          //将json字符串转为对象        String jsonString = "{'name':'张三','age':10}";        User user = FastJsonUtil.toBean(jsonString, User.class);            JSONObject json = FastJsonUtil.toBean(jsonString, JSONObject.class);        System.out.println(user);        System.out.println(json);    }    @Test    public void toBeanList(){           //将json字符串转为对象集合        String jsonString = "["                + "{'name':'张三','age':10},"                + "{'name':'李四','age':20}"                + "]";        List<User> users = FastJsonUtil.toBeanList(jsonString, User.class);        System.out.println(users);    }    @Test    public void listToJson(){           //将java list数组转为json array字符串        List<User> users = new ArrayList<User>();        for (int i = 0; i < 2; i++) {            User user = new User();            user.setAge(i);            user.setName("张三"+i);            users.add(user);        }        String jsonString = FastJsonUtil.listToJsonStr(users);        System.out.println(jsonString);    }    @Test    public void beanToJson(){           //将java对象转成json字符串        User user = new User();        user.setAge(10);        user.setName("张三");        String jsonString = FastJsonUtil.beanToJsonStr(user);        System.out.println(jsonString);    }    @Test    public void listToJSONArr(){          //将java list数组转为json array对象        List<User> users = new ArrayList<User>();        for (int i = 0; i < 2; i++) {            User user = new User();            user.setAge(i);            user.setName("张三"+i);            users.add(user);        }        JSONArray array = FastJsonUtil.listToJSONArr(users);        System.out.println(array.toJSONString());    }    @Test    public void beanToJsonObj(){                 //将java对象转为json对象        User user = new User();        user.setAge(10);        user.setName("张三");        JSONObject json = FastJsonUtil.beanToJsonObj(user);        System.out.println(json.toJSONString());    }    @Test    public void jsonStrToObjArr(){            //将json字符串转为json对象或数组        String jsonArrayStr = "["                + "{'name':'张三','age':10},"                + "{'name':'李四','age':20}"                + "]";        String jsonObjStr = "{'name':'张三','age':10}";        JSONObject json = FastJsonUtil.jsonStrToObjArr(jsonObjStr);        JSONArray array = FastJsonUtil.jsonStrToObjArr(jsonArrayStr);        System.out.println(json);        System.out.println(array);    }}

测试辅助类

class User{    private String name;    private int age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    @Override    public String toString() {        return "User [name=" + name + ", age=" + age + "]";    }}

fastjson api链接:http://blog.csdn.net/wilsonke/article/details/37921571