首页

通过alibaba的fastjson.jar包实现JSON字符串和对象及其集合间相互转换完整的示例代码

标签:alibaba,JSON,字符串,com.alibaba.fastjson.JSONArray,fastjson-1.2.24.jar,相互转换     发布时间:2017-06-01   

通过Alibaba的fastjson.jar包(下载及相关页)实现对象及其集合与JSON字符串的相互转换,具体测试示例涉及实现依赖类路径是com.alibaba.fastjson.JSON、com.alibaba.fastjson.JSONArray等,具体用法如下所示,分别通过“JsonObj对象序列集合字符串转换”、“JsonObj对象字符串转换”、“JsonObj序列集和转换”及“JsonObj对象转换为字符串”来说明

import java.util.ArrayList;@b@import java.util.List;@b@@b@import com.alibaba.fastjson.JSON;@b@import com.alibaba.fastjson.JSONArray;@b@@b@public class AlibabaFastJsonUtil {@b@        @b@    public static  <T> List<T>  toList(String object,Class clazz){@b@        return JSONArray.parseArray(object, clazz);    @b@    }@b@    @b@    public static  <T>  T  toObject(String object,Class clazz){@b@        return (T)JSONArray.parseObject(object, clazz);    @b@    }@b@    @b@    public static <T> String toJsonString(List<T> list){@b@        return JSON.toJSONString(list);@b@    }@b@    @b@    public static <T> String toJsonString(T object){@b@        return JSON.toJSONString(object);@b@    }@b@    @b@    public static void main(String[] args){@b@        @b@        //1.test list  Json  String @b@        List<JsonObj> list = toList("[{\"id\":\"2222\",\"name\":\"n2222\"},{\"id\":\"3333\",\"name\":\"n3333\"}]", JsonObj.class);    @b@        System.out.println(" 【JsonObj对象序列集合字符串转换后结果】: "+list.get(0).getName()+"@"+list.get(1).getName());@b@        @b@        //2.test  object Json String@b@        JsonObj  obj=toObject("{\"id\":\"4444\",\"name\":\"n44444\"}", JsonObj.class);    @b@        System.out.println(" 【JsonObj对象字符串转换后结果】: "+obj.getName());@b@        @b@        //3.test list to  jsonstring@b@        List<JsonObj> objs=new ArrayList<JsonObj>();@b@        JsonObj j5 = new JsonObj();  @b@        j5.setId("5555");@b@        j5.setName("n555");@b@        objs.add(j5);@b@        @b@        JsonObj j6 = new JsonObj();  @b@        j6.setId("6666");@b@        j6.setName("n6666");@b@        objs.add(j6);@b@        @b@        System.out.println(" 【JsonObj序列集和转换为字符串结果】: "+toJsonString(objs));@b@        @b@        //4. test object to jsonstring@b@        JsonObj j7 = new JsonObj();  @b@        j7.setId("7777");@b@        j7.setName("n7777");@b@        objs.add(j7);@b@        System.out.println(" 【JsonObj对象转换为字符串结果】: "+toJsonString(j7));@b@        @b@    }@b@    @b@}

控制台打印结果

 【JsonObj对象序列集合字符串转换后结果】: n2222@n3333@b@ 【JsonObj对象字符串转换后结果】: n44444@b@ 【JsonObj序列集和转换为字符串结果】: [{"id":"5555","name":"n555"},{"id":"6666","name":"n6666"}]@b@ 【JsonObj对象转换为字符串结果】: {"id":"7777","name":"n7777"}