未处理的exceptionorg.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); // } } } 

你能帮我吗?

Solutions Collecting From Web of "未处理的exceptionorg.json.jsonexception"

是的,你需要抓住这个例外。

但是,当你抓住它,你不应该把它扔在地板上。 您的应用程序需要对exception做些事情 。 或者如果你不希望在运行时发生exception,那么至less应该报告它。 这是一个最小的例子(对于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. } 

当然,这并不能解决你的问题。 接下来你需要做的是弄清楚为什么你会得到exception。 首先阅读您已经login到logcat的exception消息。


重申这个exception消息:

org.json.JSONException:typesjava.lang.String的值A不能转换为JSONObject

我认为这是由这条线抛出:

  JSONObject jObj = new JSONObject(stringaRis); 

我认为这是告诉你, stringaRis具有值"A" …并且不能被parsing为JSON对象。 这根本不是JSON。