未处理的异常org.json.jsonexception
我正在开发一个Android应用,该应用必须将json格式的Java对象保存到SQLite数据库中。我为此操作编写了代码,然后他们必须提取Json对象并将其重新转换为Java对象。当我尝试调用将json对象反序列化为字符串的方法时,我在Android
Studio中发现此错误:unhandled exception org.json.jsonexception
当我尝试捕获JSONException e
程序运行但不反序列化json对象时。
这是该方法的代码:
private void read() throws JSONException { SQLiteDatabase db = mMioDbHelper.getWritableDatabase();
String[] columns = {"StringaAll"};
Cursor c = db.query("Alle", columns, null, null, null, null,null );
while(c.moveToNext()) {
String stringaRis = c.getString(0);
JSONObject jObj = new JSONObject(stringaRis);
String sPassoMed = jObj.getString("passoMed");
final TextView tView = (TextView) this.findViewById(R.id.mainProvaQuery);
tView.setText(sPassoMed);
// }
}
}
你能帮我吗?
回答:
是的,您需要捕获异常。
但是当您抓住它时,您不应该只是将其扔在地板上。你的应用程序需要
关于异常。或者,如果您/预计运行时不会发生异常,则至少应报告该异常。这是一个最小的示例(适用于Android应用)
try { ...
JSONObject jObj = new JSONObject(stringaRis);
...
} catch (JSONException e) {
Log.e("MYAPP", "unexpected JSON exception", e);
// Do something to recover ... or kill the app.
}
当然,这不能解决您的问题。您需要做的下一件事是弄清楚为什么会出现异常。首先阅读已登录到logcat的异常消息。
重新发出此异常消息:
org.json.JSONException:类型为java.lang.String的值A无法转换为JSONObject
我假设它是由以下行抛出的:
JSONObject jObj = new JSONObject(stringaRis);
我认为这是在告诉您stringaRis
具有"A"
… 的值,并且无法将其解析为JSON对象。它根本不是JSON。
以上是 未处理的异常org.json.jsonexception 的全部内容, 来源链接: utcz.com/qa/417867.html