我有以下代码在运行时引发错误,我不知道问题出在哪里:
错误:
异常读取配置文件 java.lang.ClassCastException: org.json.simple.JSONObject cannot be cast to org.json.simple.JSONArray
我的代码:
public static void readJson(){
try {
JSONParser parser = new JSONParser();
JSONArray jsonArray = (JSONArray) parser.parse(new FileReader("/home/incentivate/Desktop/config.cfg"));
for (Object object : jsonArray)
{
JSONObject config = (JSONObject) object;
String verb = (String) config.get("verb");
System.out.println(verb);
String host = (String) config.get("host");
System.out.println(host);
String port = (String) config.get("port");
System.out.println(port);
String method = (String) config.get("method");
System.out.println(method);
}
} catch (Exception e) {
System.out.println("Excepcion leyendo fichero de configuracion " + e);
}
}
如果您需要,这就是我的 config.cfg 的样子:
{"verb" :"POST",
"host" :"192.169.3.243",
"port" :"8080",
"method":"API/DOCUMENTS/"}
我需要的是在 JAVA 变量中获取 JSON 的每个值,以便我可以继续使用它们。
我正在使用 Java 8 和 Simple JSON 库。
该错误表明正在读取的类型实际上是 JSONObject 而不是 JSONArray。所以应该足够了:
由于您的配置文件只有一个具有多个属性的元素,因此不需要 JSONArray。