美文网首页
FastJson快速上手

FastJson快速上手

作者: 明训 | 来源:发表于2021-06-17 00:10 被阅读0次

    FastJson快速上手

    背景说明

    FastJson是由阿里巴巴工程师基于JAVA开发的一款JSON解析器和生成器,可用于将Java对象转换为其JSON表示形式。它还可以用于将JSON字符串转换为等效的Java对象。

    解决方案

    开源项目

    https://github.com/alibaba/fastjson

    官方文档

    https://github.com/alibaba/fastjson/wiki/Quick-Start-CN
    https://www.w3cschool.cn/fastjson/

    依赖引入

    https://mvnrepository.com/artifact/com.alibaba/fastjson

    常见问题

    原生类型序列化后缀L等字符

    问题说明

    针对Object[]List<Object>中的原生类型当使用SerializerFeature.WriteClassName会输出LF后缀

    public static void main(String[] args) {
        Object[] objects = {0,2L,2.0f,"test"};
    
        List<Object> list = new ArrayList();
        list.add(0);
        list.add(2L);
        list.add(2.0f);
        list.add("test");
    
        System.out.println(JSON.toJSONString(objects,SerializerFeature.WriteClassName));
        System.out.println(JSON.toJSONString(objects));
        System.out.println(JSON.toJSONString(list,SerializerFeature.WriteClassName));
        System.out.println(JSON.toJSONString(list));
    }
    

    运行完毕后,输出结果如下

    [0,2L,2.0F,"test"]
    [0,2,2.0,"test"]
    [0,2L,2.0F,"test"]
    [0,2,2.0,"test"]
    
    相关文档

    https://github.com/alibaba/fastjson/issues/243

    解决方案

    官方作者温少[温绍锦]的官方回复如下:很遗憾告诉你,这是一个设计问题,无法修复。故此次不需要再纠结

    弥补方案

    FastJson输出的Json校验不合法时,人肉搜索F,L,确认后进行替换,后再格式化阅读。

    相关文章

      网友评论

          本文标题:FastJson快速上手

          本文链接:https://www.haomeiwen.com/subject/eouoeltx.html