简体   繁体   English

ClassCastException:org.json.simple.JSONArray无法转换为org.json.simple.JSONObject

[英]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 JsonArrayJsonArray而不是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.

相关问题 org.json.simple.JSONArray 不能转换为 org.json.simple.JSONObject - org.json.simple.JSONArray cannot be cast to org.json.simple.JSONObject “org.json.simple.JSONArray 无法转换为 org.json.simple.JSONObject” - “org.json.simple.JSONArray cannot be cast to org.json.simple.JSONObject” org.json.simple.JSONArray 无法转换为 class org.json.simple.JSONObject - org.json.simple.JSONArray cannot be cast to class org.json.simple.JSONObject java.lang.ClassCastException: 使用 java 读取 json 文件时,无法将 org.json.simple.JSONArray 转换为 org.json.simple.JSONObject 错误 - java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.simple.JSONObject error when reading json file iwith java java.lang.ClassCastException:org.json.simple.JSONArray无法强制转换为org.json.JSONArray - java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.JSONArray 类强制转换异常[JSONArray无法强制转换为org.json.simple.JSONObject] - Class cast exception [JSONArray cannot be cast to org.json.simple.JSONObject] Android-org.json.simple.JSONObject无法转换为org.json.JSONObject - Android - org.json.simple.JSONObject cannot be cast to org.json.JSONObject java.lang.String 不能转换为 org.json.simple.JSONObject simple-json - java.lang.String cannot be cast to org.json.simple.JSONObject simple-json 线程“main”中的异常 java.lang.ClassCastException:class org.json.simple.JSONObject 无法转换为 class java.util.List - Exception in thread "main" java.lang.ClassCastException: class org.json.simple.JSONObject cannot be cast to class java.util.List 将org.json.JSONArray转换为org.json.simple.JSONArray - Convert org.json.JSONArray to org.json.simple.JSONArray
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM