我正在尝试使用Java从URL中解析json数据(如agency.json中所示)(如ReadJSON.java中所示),但是我收到错误:
线程中的异常" main" java.lang.ClassCastException:org.json.JSONArray无法强制转换为org.json.simple.JSONArray 在com.demo.json.ReadJSON.main(ReadJSON.java:43)
我的尝试如下所示:
agency.json:
honor8zo
ReadJSON.java:
{
"agency": [
{
"agency_id": "11111",
"agency_name": "UP"
},
{
"agency_id": "22222",
"agency_name": "UPTK"
},
{
"agency_id": "33333",
"agency_name": "UAD"
},
{
"agency_id": "44444",
"agency_name": "Testing Agency"
},
{
"agency_id": "55555",
"agency_name": "Agency's name with quote"
}
]
}
我试图在stackoverflow论坛中搜索解决方案,但主要是从文件解析。请指导我如何解决异常。提前谢谢。
答案 0 :(得分:1)
将导入从import org.json.simple.JSONArray;
更改为import org.json.JSONArray;
答案 1 :(得分:0)
检查源文件顶部的import语句。
你可能有一句话:
import org.json.JSONArray; 它应该是:
import org.json.simple.JSONArray; 如果您在eclipse或任何其他智能IDE中工作,当您开始键入以JSONArray开头的行时,可能会发生此问题。此时,IDE将向您显示导入类JSONArray的不同可能性。你在org.json.JSONArray中有一个,在org.json.simple.JSONArray中有一个。后者是正确的,但您选择第一个,并且您的IDE会自动在源java文件的顶部添加一个导入行。
从异常问题非常明显,该异常告诉您无法将obj对象强制转换为org.json.JSONArray对象,因为它实际上是一个org.json.simple.JSONArray对象。 (请注意,两者之间存在差异。)