小工具知识网

当前位置: 首页 > 行业知识 > java.lang.UnsupportedOperationException: null 其一解决办法

行业知识

java.lang.UnsupportedOperationException: null 其一解决办法

2026-10-26 16:16:43 来源:互联网转载

文章目录

  • 前言
  • 一、错误回顾
    • 1.详细信息
    • 2.代码详情
    • 二、解决方案
      • 1.错误原因
      • 2.解决方案
        • 1.使用 new ObjectMapper() + new TypeReference(){}
        • 2.使用 SerializerFeature.WriteMapNullValue.getMask()
        • 总结

          前言

          当我们远程调用传递泛型集合,如 List 时,在我们使用 JSON 将字符串转为 List 时,即:JSON.parseArray(“字符串”).toJavaList(Clazz); 有时会报:java.lang.UnsupportedOperationException: null 错误。


          提示:以下是本篇文章正文内容,下面案例可供参考

          一、错误回顾

          1.详细信息

          java.lang.UnsupportedOperationException: nullat com.alibaba.fastjson2.reader.ObjectReaderBaseModule$PrimitiveImpl.createInstance(ObjectReaderBaseModule.java:978) ~[fastjson2-2.0.0.jar:na]at com.alibaba.fastjson2.reader.ObjectReader.createInstance(ObjectReader.java:53) ~[fastjson2-2.0.0.jar:na]at com.alibaba.fastjson2.util.TypeUtils.cast(TypeUtils.java:167) ~[fastjson2-2.0.0.jar:na]at com.alibaba.fastjson2.reader.ObjectReader.createInstance(ObjectReader.java:74) ~[fastjson2-2.0.0.jar:na]at com.alibaba.fastjson.JSONArray.toJavaList(JSONArray.java:207) ~[fastjson-2.0.0.jar:na]at com.sty.topology.web.service.impl.TopologyTreeServiceImpl.olmMonitor(TopologyTreeServiceImpl.java:700) ~[classes/:na]at com.sty.topology.web.service.impl.TopologyTreeServiceImpl$$FastClassBySpringCGLIB$ec93c49.invoke() ~[classes/:na]

          2.代码详情

          报错代码显示为:toJavaList(LightPath.class); 错误

          List lightPaths = JSON.parseArray(JSON.toJSONString(object)).toJavaList(LightPath.class);

          二、解决方案

          1.错误原因

          主要是我们返回的 list 中,含有 $ref 返回的数据,导致json解析不出来。

          2.解决方案

          1.使用 new ObjectMapper() + new TypeReference(){}

          List lightPaths = new ObjectMapper().convertValue(object, new TypeReference() {});

          2.使用 SerializerFeature.WriteMapNullValue.getMask()

          List lightPaths = JSON.parseArray(JSON.toJSONString(object, SerializerFeature.WriteMapNullValue.getMask())).toJavaList(LightPath.class);

          JSON.toJSONString(jsonObject),出现 “$ref“ 解决方案


          总结

          该是你的总归是你的,不是你的也强求不来。

上一篇:实习生/兼职昆山花桥易买得附近有什么合适的工作在招嘛,长期兼职也可以的。

下一篇:连接服务器怎么查记录啊?