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

Java中JSONArray解析报错:JSONObject无法转换为JSONArray

问题原因及解决方法

错误原因

你的代码里,parse.parse(String.valueOf(informationString))解析后返回的是org.json.simple.JSONObject实例,但你强行把它转换成JSONArray,这就触发了ClassCastException——核心问题是你要解析的JSON字符串是对象结构(用{}包裹),而非数组结构(用[]包裹)。

解决办法

先判断解析结果的类型,再做对应处理,别直接强制转换:

// 先获取解析后的通用对象
Object parsedObj = parse.parse(String.valueOf(informationString));

// 判断类型后分别处理
if (parsedObj instanceof JSONArray) {
    JSONArray dataArray = (JSONArray) parsedObj;
    // 这里写数组的处理逻辑
} else if (parsedObj instanceof JSONObject) {
    JSONObject dataObject = (JSONObject) parsedObj;
    // 这里写对象的处理逻辑
}

额外提示

先确认informationString的JSON格式:

  • 如果目标是解析成JSONArray,字符串得是数组格式,比如:[{"name":"test"},{"age":20}]
  • 如果是对象格式,比如:{"name":"test","age":20},就只能解析成JSONObject

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:12:01