gpt4 book ai didi

java - JSON 到 Java 出现错误

转载 作者:行者123 更新时间:2023-12-01 11:50:14 25 4
gpt4 key购买 nike

我正在尝试将以下 JSON 字符串解析为 java.lang.String。

{"Stdout":"Hello World\nThis is Sara","Stderr":"exit status 124"}

该字符串是动态的,内容可以不同,如下所示:

{"Stdout":"Hello World\nThis is Sara","Stderr":""}

{"Stdout":"","Stderr":"exit status 124"}

我正在使用following tutorial我在其中添加了我的字符串,而不是文件。

所以我创建了这段代码来简单地打印 "Stdout""Stderr" 必须说的话:

public void parsed(String str) {
JSONParser parser=new JSONParser();
try {
Object obj = parser.parse(str);
JSONObject jsonObject = (JSONObject) obj;
JSONArray out = (JSONArray) jsonObject.get("Stdout");
Iterator<String> iterator = out.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
// loop array
JSONArray err = (JSONArray) jsonObject.get("Stderr");
Iterator<String> iterator2 = err.iterator();
while (iterator2.hasNext()) {
System.out.println(iterator2.next());
}

} catch (ParseException e) {
e.printStackTrace();
}
}

我得到以下结果。我已经尝试了在 Stack Overflow 和其他网站上找到的每一种可能的解决方案。

java.lang.String 无法转换为 org.json.simple.JSONArray

最佳答案

stdoutstderr 的转换是错误的。它们都是 String 而不是 JSONArray。试试这个:

更改:JSONArray out = (JSONArray) jsonObject.get("Stdout");

至:String stdout= (String) jsonObject.get("Stdout");

并打印该字符串,看看会发生什么。

关于java - JSON 到 Java 出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28854069/

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