关于fastjson,gson,jackson的一个反序列化简单对比

本文对比了fastjson、gson和jackson在处理不完全符合规范的json字符串时的反序列化能力。fastjson表现优秀,能处理各种异常格式;gson同样能处理,但需要额外的new操作;而jackson在不修改原始字符串的情况下无法完成反序列化。若使用jackson,必须先将json字符串修正为标准格式并删除实体类的构造函数。作者指出,选择哪个库主要看个人习惯,需要注意fastjson序列化和反序列化的顺序问题。
摘要由CSDN通过智能技术生成

测试字符串 (首先声明,这不是一个标准合格的json字符串)

        String data="[ " +
                "{id: 1, name: \"第一级1\", pid: 0}," +
                "{id: 2, name: \"第一级2\", pid: 0}," +
                "{id: 3, name: \"第二级1-3\", pid: 2}, " +
                "{id: 4, name: \"第二级2-4\", pid: 2}, " +
                "{id: 5, name: \"第三级1-5\", pid: 4}," +
                "{id: 6, name: \"第一级3\", pid: 0}," +
                "{id: 7, name: \"第二级1-7\", pid: 1}, " +
                "{id: 8, name: \"第三级1-8\", pid: 7}, " +
                "]";

java 实体类

    public static class MenuTree{
        int id;
        String name;
        int pid;
        List<MenuTree> children;


        public List<MenuTree> getChildren() {
            return children;
        }

        public void setChildren(List<MenuTree> children) {
            this.children = children;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public String getName() {
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值