[英]ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.simple.JSONObject
I am trying to parse a son file, and I don't know what I'm doing wrong (of course, I don't really know what I'm doing right, either). 我正在尝试解析子文件,但我不知道我做错了什么(当然,我也不真正知道我做对了什么)。
file.json file.json
[{
"arrOne":{
"one":"a",
"two":"b",
"three":"c",
"four":"d",
"five":"e"
},
"elemTwo":"f",
"elemThree":"g",
"elemFour":"h",
"elemFive":"i",
"arrSix":[{
"six":1,
"seven":2,
"eight":"j"
}]}]
code: 码:
import java.io.FileNotFoundException;
import java.io.FileReader;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
//...........
JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader("/path/to/file.json"));
JSONObject json = (JSONObject) obj;
String unit = (String) json.get("elemTwo");
System.out.println(unit);
I get the error ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.simple.JSONObject. 我收到错误ClassCastException:org.json.simple.JSONArray无法转换为org.json.simple.JSONObject。 Truthfully, I have no idea what I'm doing. 说实话,我不知道我在做什么。 Any help would be great! 任何帮助将是巨大的! Thanks! 谢谢!
您应该将obj
JsonArray
为JsonArray
而不是JsonObject
,因为您的json文件的根目录为[]
。
you are getting JSONArray not JsonObject 您正在获取JSONArray而不是JsonObject
JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader("/path/to/file.json"));
JSONArray json = (JSONArray) obj;
Than loop this and get jsonobject 比循环并获取jsonobject
When the JSonParser
parses the file, it's returning it as a JSONArray
, to solve it try to use this: 当JSonParser
解析文件时,它将以JSONArray
的形式返回,要解决该问题,请尝试使用此文件:
JSONObject obj = (JSONObject)obj;
JSONObject elem = (JSONObject)obj.get("0");
String unit = (String) elem.get("elemTwo");
System.out.println(unit);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.