码迷,mamicode.com
首页 > Web开发 > 详细

Fastjson常用方法

时间:2017-07-30 00:10:18      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:orm   api   集合   code   int   hash   .json   void   str   

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本,boolean参数true能设置格式,false则不能
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray(和上面方法的区别是返回值是不一样的)   

 

代码演示:

// 实体类转换成json
    public static void voToJson() {

        UserInfo user = new UserInfo();
        user.setName("张三");
        user.setCar(null);
        user.setLike(new String[] { "吃", "喝" });
        // 注意:UserInfo中所有的属性都会显示出来,没有set的以默认值的方式显示(值为null的除外)
        String jsonstr = JSON.toJSONString(user);
        System.out.println("实体类转json格式字符串 :" + jsonstr);
    }

    // list集合的转换
    public static void listToJson() {

        List<UserInfo> list = new ArrayList<UserInfo>();

        UserInfo userinfo1 = new UserInfo();
        UserInfo userinfo2 = new UserInfo();
        userinfo1.setAge(12);
        userinfo2.setAge(20);

        list.add(userinfo1);
        list.add(userinfo2);

        String json = JSON.toJSONString(list, true);
        System.out.println("List集合转json格式字符串 :" + json);
    }

    // 字符数组JSON转化为数组
    public static void StringArrayToJSON() {

         String s = "[{\"name\":\"aa\",\"age\":10},{\"name\":\"bb\",\"age\":20}]";  
           
        List<UserInfo> list = JSON.parseArray(s, UserInfo.class);
        for (UserInfo ui:list) {

            
            System.out.println(ui.getName());
        }

    }

    // 复杂数据类型
    public static void Complexdata() {
        //map集合1
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("username", "zhangsan");
        map.put("age", 24);
        map.put("sex", "男");
        

        // map集合2
        HashMap<String, Object> temp = new HashMap<String, Object>();
        temp.put("name", "xiaohong");
        temp.put("age", "23");
        
        //map集合2装map集合1中
        map.put("girlInfo", temp);

        // list集合
        List<String> list = new ArrayList<String>();
        list.add("爬山");
        list.add("骑车");
        list.add("旅游");
        //map集合1装了List集合
        map.put("hobby", list);
        
        String jsonString = JSON.toJSONString(map);
        System.out.println("复杂数据类型:" + jsonString);
    }

    // JSON转成实体类
    public static void Deserialization() {
        String json = "{\"name\":\"cc\",\"age\":24}";
        UserInfo userInfo = JSON.parseObject(json, UserInfo.class);
        System.out.println("姓名是:" + userInfo.getName() + ", 年龄是:"
                + userInfo.getAge());
    }

    // 格式化日期
    public static void DateFormate() {
        Date d = new Date();
        System.out.println("时间:" + d);
        System.out.println("输出毫秒值:" + JSON.toJSONString(d));
        System.out.println("默认格式为:"
                + JSON.toJSONString(d,
                        SerializerFeature.WriteDateUseDateFormat));
        System.out.println("自定义日期:"
                + JSON.toJSONStringWithDateFormat(d, "yyyy-MM-dd",
                        SerializerFeature.WriteDateUseDateFormat));
    }

    // Json转为实体
    public static void Json2Eetity() {
        String json = "{\"name\":\"cc\",\"age\":24}";
        UserInfo userInfo = JSON.parseObject(json, UserInfo.class);
        System.out.println("输出对象的地址:" + userInfo.toString());
        System.out.println("输出对象的名字:" + userInfo.getName());
    }

 

Fastjson常用方法

标签:orm   api   集合   code   int   hash   .json   void   str   

原文地址:http://www.cnblogs.com/lm970585581/p/7257822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!