zoukankan      html  css  js  c++  java
  • 解决:java.lang.ArrayIndexOutOfBoundsException: 160 at com.alibaba.fastjson.serializer.SerializeWriter.writeStringWithDoubleQuote(SerializeWriter.java:868)

    今天线上遇到一个问题,从hbase里读取出来的数据在转换json后输出时出现异常:

    java.lang.ArrayIndexOutOfBoundsException: 160
            at com.alibaba.fastjson.serializer.SerializeWriter.writeStringWithDoubleQuote(SerializeWriter.java:868)
            at com.alibaba.fastjson.serializer.SerializeWriter.writeStringWithDoubleQuote(SerializeWriter.java:602)
            at com.alibaba.fastjson.serializer.SerializeWriter.writeString(SerializeWriter.java:1411)
            at com.alibaba.fastjson.serializer.StringCodec.write(StringCodec.java:49)
            at com.alibaba.fastjson.serializer.StringCodec.write(StringCodec.java:34)
            at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:188)
            at com.alibaba.fastjson.serializer.ListSerializer.write(ListSerializer.java:158)
            at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:188)
            at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:369)
            at com.alibaba.fastjson.JSON.toJSONString(JSON.java:596)
            at com.alibaba.fastjson.JSON.toString(JSON.java:590)
            at java.lang.String.valueOf(String.java:2854)
            at java.io.PrintStream.println(PrintStream.java:821)

    从异常信息中可以看出是在json toString的时候出现了错误,可能是引号或者其它不可见字符导致的,查看实际数据并没有出现单双引号,但是出现了 u00A0u00A0u00A0u00A0u00A0u00A0, 是不应该出现问题的,那问题就只可能是u00A0 导致的,查看UNICODE对照表,发现u00A0确实是一个不可见字符

    (unicode 对照表:https://unicode-table.com/en/#control-character):

    u00A0转ASCII,正好是160

    问题变得简单了,可能是fastjson 对不可见字符的支持问题,于是换了个最新版试一下,果然一切正常,问题是解决了,但是得找到具体原因,看了看源代码,当前使用的这个

    版本(1.1.39) 确实有部分特殊字符未做处理。

     可参考官方修正提交:https://github.com/alibaba/fastjson/commit/cdf7cb253e961666e2b3c2bdd423abe73ba4324a#diff-0

  • 相关阅读:
    uni-app调用原生的文件系统管理器(可选取附件上传)
    uni-app图片压缩转base64位 利用递归来实现多张图片压缩
    解释器模式
    外观模型
    装饰模式
    组合模式
    原型模式
    简单工厂模式
    抽象工厂模式
    工厂方法模式
  • 原文地址:https://www.cnblogs.com/jessezeng/p/6758569.html
Copyright © 2011-2022 走看看