Java JSONObject到JSONObject类强制转换异常

Java JSONObject到JSONObject类强制转换异常,java,arrays,json,Java,Arrays,Json,我试图解析我的JSONObject以获取JSON数组的数据 但问题是,JSONParser是org.json.simple.JSONParser中的一个类,而JSONObject在org.json.JSONObject中 我在org.json中找不到任何解析器来避免类强制转换异常 我们还有别的办法把这些东西分类吗 还是我走的方向完全错了? 请建议 我的JSON看起来像: { "dataIntents": [ { "intent": "muster.policy.daily", "ex

我试图解析我的JSONObject以获取JSON数组的数据

但问题是,JSONParser是org.json.simple.JSONParser中的一个类,而JSONObject在org.json.JSONObject中

我在org.json中找不到任何解析器来避免类强制转换异常

我们还有别的办法把这些东西分类吗

还是我走的方向完全错了? 请建议

我的JSON看起来像:

{
 "dataIntents": [
 {
  "intent": "muster.policy.daily",
  "expr": "Am I supposed to register my attendance daily?"
 },
 {
  "intent": "leave.probation",
  "expr": "An employee is eligible for how many leaves in 1st year ??"
 },
 {
  "intent": " leave.resigned ",
  "expr": "Are resigned employees eligible for pro rata leave credit"
 },
 {
  "intent": " muster.deadline.submission ",
  "expr": "By when should I get my pending leave/Emuster applications 
 approved?"
  }
 ]
}
我的主要班级:

public class DLMain {

public static void main(String[] args) {

try {
        JSONParser parser = new JSONParser();
        Object obj = 
        parser.parse(newFileReader("/home/cmss/Downloads/data.json"));
        org.json.JSONObject dataObject = (org.json.JSONObject)obj;
        System.out.println(dataObject);
        org.json.JSONArray getArray = 
        dataObject.getJSONArray("dataIntents");

        for (int i = 0; i < getArray.length(); i++) {
            org.json.JSONObject objects = getArray.getJSONObject(i);
            String a = objects.getString("expr");
        }
        System.out.println();
    } catch (Exception e) {
        System.out.println(e);
    }
  }
}
公共类DLMain{
公共静态void main(字符串[]args){
试一试{
JSONParser=新的JSONParser();
对象对象对象=
parse(newFileReader(“/home/cmss/Downloads/data.json”);
org.json.JSONObject dataObject=(org.json.JSONObject)obj;
System.out.println(数据对象);
org.json.JSONArray getArray=
getJSONArray(“dataIntents”);
对于(int i=0;i
我希望我的“expr”键的所有值都在JSONObject或字符串中


提前感谢帮助:)

为什么不使用POJO呢

到目前为止,您的Json是一个意图列表,您可以有如下内容:

public class Intents {
    private List<Intent> dataIntents;
}
(请生成构造函数和getter setter)

然后您可以直接使用,避免所有难看的JSON解析


希望有帮助

你为什么不用POJO呢

到目前为止,您的Json是一个意图列表,您可以有如下内容:

public class Intents {
    private List<Intent> dataIntents;
}
(请生成构造函数和getter setter)

然后您可以直接使用,避免所有难看的JSON解析


希望有帮助

尝试使用
org.json.simple.JSONObject
org.json.simple.JSONArray
@SpaceBison如果我使用org.simple.json.JSONArray,那么我在dataObject.getJSONArray(“dataIntents”)上会出现错误
org.json.simple.JSONObject
org.json.JSONObject
具有不同的接口,因为它来自不同的库。有关详细信息,请参阅文档:尝试使用
org.json.simple.JSONObject
org.json.simple.JSONArray
@SpaceBison如果我使用org.simple.json.JSONArray,那么我在dataObject.getJSONArray(“dataIntents”)上会出现错误
org.json.simple.JSONObject
org.json.JSONObject
具有不同的接口,因为它来自不同的库。有关详细信息,请参阅文档:谢谢您的建议,但我不想使用pojo类。我希望我的程序是轻量级的。你用几公斤打印的代码来衡量你的代码吗?;)(是个笑话)当代码可以理解时,它会更好,但这可能是我个人的观点。实际上我不想把它复杂化。我只想使用简单的JSON库,而不是制作pojo。这个例子是为了制作一个聊天机器人。谢谢你的建议,但我不想使用pojo课程。我希望我的程序是轻量级的。你用几公斤打印的代码来衡量你的代码吗?;)(是个笑话)当代码可以理解时,它会更好,但这可能是我个人的观点。实际上我不想把它复杂化。我只想使用简单的JSON库,而不是制作pojo。这个例子是为了制作一个聊天机器人。谢谢:)