gpt4 book ai didi

java - JSONObject 到 JSONObject 类转换异常

转载 作者:太空宇宙 更新时间:2023-11-04 11:23:37 27 4
gpt4 key购买 nike

我正在尝试解析 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?"
}
]
}

我的主要类(class):

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);
}
}
}

我想要 JSONObject 或字符串中的“expr”键的所有值。

提前感谢您的帮助:)

最佳答案

为什么不使用 POJO 呢?

到目前为止,你的 Json 是一个意图列表,你可以有类似的东西:

public class Intents {
private List<Intent> dataIntents;
}

还有一个

public class Intent {
private String intent;
private String expr;
}

(请生成构造函数和getter setter)

然后就可以直接使用 ObjectMapper并且您可以避免所有丑陋的 JSON 解析。

希望对你有帮助!

关于java - JSONObject 到 JSONObject 类转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44624243/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com