运行代码示例时收到“Unhandled exception:org.json.JSONException”

时间:2016-07-20 01:41:43

标签: android json

帮助: 我正在使用Android Studio并尝试使用

中的代码示例

https://developer.android.com/reference/org/json/JSONTokener.html 代码示例如下

import org.json.JSONObject;
import org.json.JSONTokener;

String json  = "{"
  + "  \"query\": \"Pizza\", "
  + "  \"locations\": [ 94043, 90210 ] "
  + "}";

  JSONObject object = (JSONObject) new JSONTokener(json).nextValue();
  // TBD - String query = object.getString("query");
  // TBD - JSONArray locations = object.getJSONArray("locations");

当我输入这些行时,Studio红线   新的JSONTokener(json).nextValue();

当我将光标悬停在线上时,我得到的错误消息是   “未处理的异常:org.json.JSONException”

欢迎任何有关导致此错误的想法或评论。

3 个答案:

答案 0 :(得分:2)

您需要抛出该异常或捕获并处理它。

例如,捕获异常意味着:

try{
    JSONObject object = (JSONObject) new JSONTokener(json).nextValue();
}catch(JSONException e){
    // Recovery
}

抛出异常意味着:

private void doSomething() throws JSONException {
    JSONObject object = (JSONObject) new JSONTokener(json).nextValue();
}

答案 1 :(得分:0)

未处理的异常:org.json.JSONException 表示它容易出现 JSONException 。 Android Studio要求您通过

处理此可能的异常
try {
     JSONObject object = (JSONObject) new JSONTokener(json).nextValue();
} catch (JSONException ignored) {
  ignored.printStackTrace(); //now it is in log 
}

这将解决问题

由于

答案 2 :(得分:0)

我遇到了类似的问题,此问题通过在Maven依赖项/ org.json的最新版本下面添加来解决:

 <dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20171018</version>
</dependency>