New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
流式读取包含有转义后的html字符串的json文件,抛出数组越界异常(版本1.2.23) #1001
Comments
能提供重现问题的testcase么? |
您好 我的测试文件有点大,不方便者这里贴出来 已上传到地址: 其中json格式数据中的htmlContent字段的值 是(特殊字符) 转义后的html字符串,是程序输出的,一般不会存在格式问题 我测试的时候,如果修改htmlContent字段的值为 几个汉字,则fastjson程序能够正常读取,因此,问题在于fastjson读取 转义后的html字符串 存在bug 我的测试代码如下: JSONReader reader = new JSONReader(new FileReader("test.json"));
|
谢谢反馈,问题重现并解决,不过才不到2M的文本,完全可以直接使用JSON.parseObject,不需要使用JSONReader |
呵呵 辛苦了 ! 我可以用paRserObject,我的实际文件比这个大一点点啊! 不过这是一个比较关键的BUG,不解决 所有类似大文件都处理不了 @wenshao |
当json文件中包含有转义后的html字符串,流式读取json文件抛出数组越界异常
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at com.alibaba.fastjson.parser.JSONReaderScanner.next(JSONReaderScanner.java:171)
at com.alibaba.fastjson.parser.JSONLexerBase.scanString(JSONLexerBase.java:866)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:441)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1327)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1293)
at com.alibaba.fastjson.JSONReader.readString(JSONReader.java:209)
使用代码如下:
String objectKey = reader.readString();
System.out.println("objectKey:"+objectKey);
if(objectKey.equalsIgnoreCase("node"))
{
The text was updated successfully, but these errors were encountered: