FastJson简单封装

这里封装了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.youkuaiyun.com/wilsonke/article/details/37921571

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值