为了账号安全,请及时绑定邮箱和手机立即绑定

使用fastjson中的TypeReference

使用fastjson中的TypeReference

一只萌萌小番薯 2019-04-19 14:15:41
就是这样了,非常简单的一个转换,同事的电脑可以执行的代码到我这里是编译的时候就报错'TypeReference()' has protected access in 'com.alibaba.fastjson.TypeReference'以及Error:(53, 61) java: TypeReference(java.lang.reflect.Type...) 在 com.alibaba.fastjson.TypeReference 中是 protected 访问控制导包决对是正确的,有人来帮忙看下吗,急赶工程public static void main(String[] args) {         String str = "{'XX':1}";         Map<String, BigDecimal> map = JSON.parseObject(str, new TypeReference<Map<String, BigDecimal>>());     }
查看完整描述

5 回答

?
慕设计0599610

TA贡献1条经验 获得超2个赞


应该和我一样是因为粗心大意,落下了 “new TypeReference<T>(){}”

看清楚,最后还有一个大括号

查看完整回答
2 反对 回复 2020-05-07
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

大概原因是你们两个人的jar版本不同,或者是不是jdk版本不同?


查看完整回答
反对 回复 2019-05-14
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

将jdk的版本统一一下,建议你降级成和他一样的


查看完整回答
反对 回复 2019-05-14
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

原因是TypeReference的构造函数的问题,参数是(Type... actualTypeArguments),解决方法是在新建的TypeReference类后面加上一个空白方法块,示例如下:new TypeReference>() {},具体原因我就一知半解了,有知道的大佬补充一下


查看完整回答
反对 回复 2019-05-14
  • 慕UI8252317
    慕UI8252317
    和它的构造函数有关系 protected的构造方法只能子类使用
  • 慕UI8252317
    慕UI8252317
    TypeReference只有protected修饰的构造方法,所以只能子类使用
?
慕沐林林

TA贡献2016条经验 获得超9个赞

JSON.parseObject(str, Map.class);这样就OK啊
或者改成JSON.parseObject(str, new TypeReference>(){});

查看完整回答
反对 回复 2019-05-14
  • 5 回答
  • 1 关注
  • 8832 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信