侧边栏壁纸
  • 累计撰写 251 篇文章
  • 累计创建 138 个标签
  • 累计收到 16 条评论

目 录CONTENT

文章目录

fastjson 1.2.28 版本反序列化使用ASM报错:java.lang.VerifyError

Sherlock
2018-01-11 / 0 评论 / 0 点赞 / 1803 阅读 / 1730 字 / 编辑
温馨提示:
本文最后更新于 2023-10-09,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
package com.fastjson;

import com.alibaba.fastjson.JSON;  
import com.alibaba.fastjson.parser.ParserConfig;  
import com.fastjson.bean.FastjsonBugBean;

/**
 * 1.2.28版本反序列化的时候使用ASM报错   java.lang.VerifyError (字段数刚好为32或64个才能复现)
 * @author zhangcx
 * @date 2018-01-11
 */
public class FastjsonBugTest {

    public static void main(String[] args) {
        FastjsonBugBean b = new FastjsonBugBean("key1", "key2", "key3", "key4", "key5", "key6", "key7", "key8", "key9",
                "key10", "key11", "key12", "key13", "key14", "key15", "key16", "key17", "key18", "key19", "key20",
                "key21", "key22", "key23", "key24", "key25", "key26", "key27", "key28", "key29", "key30", "key31",
                "key32");   
        String s = JSON.toJSONString(b, true);
        System.out.println(s);
        // 1.升级 1.2.29 (改版本已经修复)
        // 2.反序列化前手动关闭ASM 可以解决
        // ParserConfig.getGlobalInstance().setAsmEnable(false);
        // 3.将 FastjsonBugBean 字段数改为非 32 和 64 也可以解决
        System.out.println(JSON.parseObject(s, FastjsonBugBean.class));
    }
}
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区