开发者社区> 问答> 正文

禁用BigDecimal的代码应该怎么写呢

JSONReader.getContext().config() 和直接JSON.parseObject()添加Feature都不行,用的2.0.2的版本

原提问者GitHub用户yangyongdehao30

展开
收起
大圣东游 2023-04-21 12:11:19 246 0
3 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    可能是因为您使用的fastjson的版本与其相应的配置存在不兼容的问题。在2.0.2版本中,JSONReader已经被删除,建议您使用JSON.parseObject()方法直接解析JSON串。

    如果您需要添加Feature特性,可以在使用parseObject()方法时传递一个Feature参数,例如:

    String jsonString = "{"name":"John","age":30,"city":"New York"}"; JSONObject jsonObj = JSON.parseObject(jsonString, Feature.IgnoreNotMatch); 这将忽略JSON串中的未匹配的属性,并将其转换为JSON对象。您也可以使用其他支持的Feature,如DisableCircularReferenceDetect等。

    如果您仍然遇到问题,请考虑使用较新的fastjson版本,检查您的JSON数据格式是否正确。

    2023-04-21 21:06:30
    赞同 展开评论 打赏
  • GitHub https://github.com/co63oc/cloud

    搜索代码中是否使用BigDecimal

    2023-04-21 15:08:12
    赞同 展开评论 打赏
  • 这个是不是你想要的

    String str = "{"val":1.2}"; JSONObject object = JSON.parseObject(str, JSONReader.Feature.UseBigDecimalForDoubles); Object val = object.get("val"); assertEquals(Double.class, val.getClass());

    原回答者GitHub用户wenshao

    2023-04-21 15:01:05
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载