前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Fastjson常用方法

Fastjson常用方法

作者头像
HUC思梦
发布2020-09-03 10:48:55
9910
发布2020-09-03 10:48:55
举报

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(和上面方法的区别是返回值是不一样的)

代码演示:

代码语言:javascript
复制
// 实体类转换成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());
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-07-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档