【发布时间】:2018-08-20 13:54:20
【问题描述】:
我向您展示了我的代码和 JSON 模型,请检查并告诉我哪里错了,我在自己的水平上做了每一件事,但系统向我展示了 IllegalstateException。喜欢:-java.lang.IllegalStateException:应为 BEGIN_ARRAY,但在第 1 行第 27 列路径为 STRING。
class LoginTask extends AsyncTask<Boolean, Void, String> {
@Override
protected String doInBackground(Boolean... booleen) {
UserApi userApi = new UserApi();
LoginUser result;
try {
result = userApi.loginUser(email, pass, fcm_token);
Log.e("result", String.valueOf(result));
Gson gson = new Gson();
String json = gson.toJson(result);
JSONObject jObj = new JSONObject(json);
Log.e("result", String.valueOf(jObj));
if (jObj.getString("error").equalsIgnoreCase("false")) {
JSONArray array=jObj.getJSONArray("response");
for(int i = 0; i < array.length(); i++) {
JSONObject object = array.getJSONObject(i);
}return "true";
} else {
String errormsg = jObj.getString("response");
return errormsg;
}
} catch (ApiException e) {
e.printStackTrace();
Log.e("error", e.toString());
} catch (JSONException e) {
e.printStackTrace();
Log.e("error", e.toString());
} catch (RuntimeException e) {
e.printStackTrace();
Log.e("error", e.toString());
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "Your email and password not matching to our database.", Toast.LENGTH_LONG).show();
}
});
}
return null;
}
@Override
protected void onPostExecute(String result) {
if (result != null) {
if (result.equalsIgnoreCase("true")) {
Log.e("success1", "logged in");
startActivity(new Intent(MainActivity.this, For_Child_Attendance.class));
finish();
} else {
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();
}
}
}
}
这是我的 API 模型(登录用户):-
{
"error": "string",
"response": [
{
"id": "string",
"email": "string",
"fname": "string",
"mname": "string",
"cname": "string",
"dob": "string",
"cclass": "string",
"fnumber": "string",
"mnumber": "string",
"address": "string",
"cimage": "string",
"fcm_token": "string",
"forgotten_password_code": "string"
}
]
}
【问题讨论】:
标签: android illegalstateexception