今天使用fastjson的时候出现了一个奇怪的bug,之前用的好好的,在今天测试过后突然就不行了。
报错的地方在bean转为object的时候发生
Exception in thread "main" com.alibaba.fastjson.JSONException: create asm serializer error, verson 1.2.62, class class 测试FastJSON.xuxiao
at com.alibaba.fastjson.serializer.SerializeConfig.createJavaBeanSerializer(SerializeConfig.java:264)
at com.alibaba.fastjson.serializer.SerializeConfig.createJavaBeanSerializer(SerializeConfig.java:120)
at com.alibaba.fastjson.serializer.SerializeConfig.getObjectWriter(SerializeConfig.java:792)
at com.alibaba.fastjson.serializer.SerializeConfig.getObjectWriter(SerializeConfig.java:436)
at com.alibaba.fastjson.serializer.JSONSerializer.getObjectWriter(JSONSerializer.java:416)
at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:282)
at com.alibaba.fastjson.JSON.toJSONString(JSON.java:745)
at com.alibaba.fastjson.JSON.toJSONString(JSON.java:683)
at com.alibaba.fastjson.JSON.toJSONString(JSON.java:648)
at 测试FastJSON.test.main(test.java:11)
Caused by: java.lang.UnsupportedOperationException
报错指定在11行,而11行仅仅是一个bean转json字符串而已
String jsonString = JSON.toJSONString(xuxiao);
wdnmd,这玩意搞得我百思不得其解,pom文件里的fastjson换了好几个版本也解决不了,后来换了一台电脑测试相同的代码,成功了?!有问题,我又再之前的电脑上的不同工程上新建一个测试,也成功了?!难道是之前的工程有问题?
我在之前的工程中也新建一个包来测试,也成功了!
最后定位在包名上,只要我的包名上带有中文,就一定会出异常(在某些时候也不会)。而类路径全为英文的时候,是没有异常的。
这里的情况也给自己提了个醒,之后只要引入第三方jar包的测试,一定要保证自己的类路径是全英文的,不要出现中文。
网友评论