这是我的代码:
public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("index.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}
JSONObject object = new JSONObject(loadJSONFromAsset());
我在最后一行下划线错误:
JSONObject object = new JSONObject(loadJSONFromAsset());
话说:
未处理的异常org.json.JSONException
答案 0 :(得分:1)
您将所有InputStream
次操作包含在try
阻止IOException
的阻止中。错误告诉您的是,您需要将最后一行包装在捕获try
的{{1}}块中。
您可以使用不同的JSONException
块,但更好的设计是使用相同的try
块,将该语句放在块中并捕获try
以及JSONException
在那个街区。然后让您的方法返回IOException
而不是JSONObject
。