Java JSONObject到JSONObject类强制转换异常
我试图解析我的JSONObject以获取JSON数组的数据 但问题是,JSONParser是org.json.simple.JSONParser中的一个类,而JSONObject在org.json.JSONObject中 我在org.json中找不到任何解析器来避免类强制转换异常强> 我们还有别的办法把这些东西分类吗 还是我走的方向完全错了? 请建议 我的JSON看起来像: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
{
"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。这个例子是为了制作一个聊天机器人。谢谢:)