未处理的异常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

回到顶部