风里雾里 2020-12-08 10:00 采纳率: 85.7%
浏览 123
已采纳

json数据怎么转换成实体类?

[ERROR] [http-nio-9876-exec-4] [org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]] [Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: com.alibaba.fastjson.JSONArray cannot be cast to java.lang.String] with root cause]
java.lang.ClassCastException: com.alibaba.fastjson.JSONArray cannot be cast to java.lang.String

错误信息,是类型转换错误。

 

    String result = yxOpenApiService.handleGetItemsById(itemIds).getResult();
        CommodityInformationInquiryResult commodityInformationInquiryResult=JSON.parseObject(result,CommodityInformationInquiryResult.class);

 我使用自动提示,自动String类型接收,使用jsonarray报错??

 

  • 写回答

4条回答 默认 最新

  • Gyyyang 2020-12-08 17:12
    关注

    好,解决了就行,只看到两行代码我也是猜的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Gyyyang 2020-12-08 16:25
    关注

    result是一个jsonArray的字符串形式,下面应该用

    List<CommodityInformationInquiryResult> commodityInformationInquiryResults = JSON.parseArray(result,CommodityInformationInquiryResult.class);

    试试看

    评论
  • 风里雾里 2020-12-08 17:03
    关注

    是获取的数据和实体类的转换错误,实体类中有实体类,复杂类型,JSONObject就可以

    评论
  • 风里雾里 2020-12-08 17:15
    关注

    嗯嗯,谢谢你了。

    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 怎么下载MySQL,怎么卸干净原来的MySQL
  • ¥15 网络打印机Ip地址自动获取出现问题
  • ¥15 求局部放电案例库,用于预测局部放电类型
  • ¥100 QT Open62541
  • ¥15 stata合并季度数据和日度数据
  • ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应
  • ¥15 Vue3 中使用 `vue-router` 只能跳转到主页面?
  • ¥15 用QT,进行QGIS二次开发,如何在添加栅格图层时,将黑白的矢量图渲染成彩色
  • ¥50 监控摄像头 乐橙和家亲版 保存sd卡的文件怎么打开?视频怎么播放?
  • ¥15 Python的Py-QT扩展库开发GUI