gpt4 book ai didi

java - 在 Java 中从 URL 获取 JSON 项

转载 作者:行者123 更新时间:2023-12-02 12:45:17 25 4
gpt4 key购买 nike

我有这个链接:JSON file

这存储在在线服务器上。一切都很好,但我想获得像“hood_id”或“damage_or_theft_car_id”这样的项目,但不知何故,当我启动它时,我的代码崩溃了。出现错误 Json 对象未找到

这是我尝试过的:

public class JSONParser {
private String read(BufferedReader bufferedReader) throws IOException {
//Creates new StringBuilder to avoid escaping chars
StringBuilder stringBuilder = new StringBuilder();
//Gets the currentLine
String currentLine;
while((currentLine = bufferedReader.readLine()) !=null ){
//Adds the currentLine to the stringBuild if the currentLine is not null
stringBuilder.append(currentLine);
}
//Returns the StringBuilder is String format
return stringBuilder.toString();
}

public JSONObject readJsonFromUrl(String JSONurl) throws IOException, JSONException {
InputStream url = new URL(JSONurl).openStream();
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url));
String jsonText = read(bufferedReader);
JSONArray jsonArray = new JSONArray("[" +jsonText + "]");
//JSONObject json = new JSONObject(jsonText);
JSONObject json = jsonArray.getJSONObject(0);
return json;
} finally {
url.close();
}
}

public void printJSON() throws IOException, JSONException {
JSONObject json = readJsonFromUrl("http://test.dontstealmywag.ga/api/damage_or_theft_car.php");
System.out.println(json.toString());
System.out.println(json.get("hood_id"));
}

}

当我输入 json.get("damage_or_theft_car"); 代码有效。有人可以帮我吗?我认为问题出在 JSONArrays 和 JSONOjects

最佳答案

“hood_id”不在 json 的顶层,这就是为什么你可能会得到:

org.json.JSONException: JSONObject["hood_id"] not found

在该行:System.out.println(json.get("hood_id"));

请确定:当你运行时:

System.out.println(json.get("damage_or_theft_car"));

程序将执行该行并打印 json 内容。

<小时/>

如果您确实想打印 hood_id 的值,则需要深入研究列表中的每个 json。例如:

System.out.println(json.getJSONArray("damage_or_theft_car")
.getJSONObject(0).get("hood_id"));

关于java - 在 Java 中从 URL 获取 JSON 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44783588/

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