gpt4 book ai didi

java - Android - 解析 JSON 字符串

转载 作者:行者123 更新时间:2023-11-29 08:40:06 25 4
gpt4 key购买 nike

我正在尝试解析一个简单的 JSON 字符串

    try {
String candyJson = "{\"candies\":[ {\"name\":\"Jelly Beans\", \"count\":10}, {\"name\":\"Butterscotch\", \"count\":6}]}";
JSONObject candiesJSONobject = new JSONObject(candyJson);
JSONArray candiesJSONarray = candiesJSONobject.getJSONArray("candies");
Log.v("JSONObject", candiesJSONarray.getJSONObject(0).getString("name"));
} catch (JSONException e){
Log.e("MYAPP", e.toString());
}

代码在此状态下运行良好,未捕获任何异常并在 Android 日志中打印 JSONObject 名称。

但是当我不 try catch 异常时,如下例所示:

        String candyJson = "{\"candies\":[ {\"name\":\"Jelly Beans\", \"count\":10}, {\"name\":\"Butterscotch\", \"count\":6}]}";
JSONObject candiesJSONobject = new JSONObject(candyJson);
JSONArray candiesJSONarray = candiesJSONobject.getJSONArray("candies");
Log.v("JSONObject", candiesJSONarray.getJSONObject(0).getString("name"));

Android Studio 在所有 JSON 方法上都给我未处理的异常错误。解析 JSON 时是否需要捕获 JSONException 还是我做错了什么?

最佳答案

这实际上是一个 Java 特性 :-) 请阅读更多关于它的信息 here .

想法是 - 如果一个方法声明它将抛出(非运行时)异常,则该方法的所有调用都需要来捕获此异常,以防万一.

这并不意味着您在代码中遇到此异常,您只能在实际运行时才能看到。但是 Java 要求您为抛出此类异常的情况做好准备。

关于java - Android - 解析 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40910244/

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