You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java使用JSON-simple调用单对象REST API出现类型转换异常如何解决

异常原因
  • 错误出在代码中JSONObject obj = (JSONObject) data_obj.get("quote");这一行,属于强制类型转换不匹配导致的运行时异常。
  • 你调用的https://api.kanye.rest/接口返回的JSON结构为{"quote":"具体的名言内容"},你可以直接在浏览器访问该接口地址查看返回结果,确认quote字段对应的值本身就是字符串类型,而非嵌套的JSON对象类型。
  • JSON-simple库解析JSON字符串时,会把JSON中的字符串值直接映射为java.lang.String类型,你强行将其转换为org.json.simple.JSONObject类型,自然触发类转换异常。
解决方案

直接修改对应行的类型转换逻辑即可,调整后的核心代码片段如下:

// 注释掉原来错误的强转代码
// JSONObject obj = (JSONObject) data_obj.get("quote");
// 修正为转换为字符串类型
String quote = (String) data_obj.get("quote");
// 发送消息时直接使用该字符串变量
commandSender.sendMessage("<Kanye> " + quote);
  • 可选优化建议:读取响应内容时,使用StringBuilder替代inline += scanner.nextLine()的写法,可以减少字符串拼接产生的多余对象,提升运行性能。

内容的提问来源于stack exchange,提问作者Ntdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:15:01