org.json.JSONException:在 android Studio 中字符 0 处的输入结束



当我尝试从API检索JSON对象时,它会导致错误。我正在使用JSONObjectRequest来获得结果。

这是我的活动方法:

private void execute(final Context context) {
String url = UrlManager.getUrl(context, R.string.signup_url);
User user = User.getInstance();
try {
url += "&name=" + mFirstName + "&last=" + mLastName + "&mob=" + mMobile +
"&email=" + mEmail +
"&pass=" + UrlManager.prepareUrlPart(mPassword);
} catch (Exception e) {
e.printStackTrace();
}

final ProgressDialog pDialog;
pDialog = new ProgressDialog(context);
pDialog.setMessage("Loading...");
pDialog.setCancelable(false);
pDialog.show();
Response.Listener < JSONObject > listener = new Response.Listener < JSONObject > () {
@Override
public void onResponse(JSONObject response) {
try {
JSONObject userObj = new JSONObject();
userObj = response; //response.getJSONObject("UserInfo");
userInfo = new UserInfo();
userInfo.LoadItem(context, (JSONObject) userObj);
String state = response.getString("State");
if (state == "1") {
// Load user data from json and save them into local database
//  User user = User.getInstance();
// user.loadFromJSon(response);
/// user.saveUser();
onResult(true);
} else {
onResult(false);
}

} catch (Exception e) {
Log.d("Error", e.getMessage());
e.printStackTrace();
}
pDialog.dismiss();
}
};
Response.ErrorListener errorListener = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(context, "Error", Toast.LENGTH_LONG).show();
pDialog.dismiss();
}
};
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, null, listener, errorListener);
MyApplication.getInstance().addToRequestQueue(request);
}

我已经保证我的 JSON 是非空的。下面是一个示例 JSON 结果:

{"UserId":60,"UserName":"09111","Password":"123","Email":"m@m.com","Mobile":"09111111111","NationalId":"0000000000","FirstName":"mm","LastName":"mm","FatherName":"","Birthday":"1990/10/11","State":"1"}

这是有问题的错误:

org.json.JSONException: End of input at character 0 of 
private void execute(final Context context)
{
String url = UrlManager.getUrl(context, R.string.signup_url);
User user = User.getInstance();
try {
url +=  "&name=" + mFirstName + "&last=" + mLastName + "&mob=" + mMobile  +
"&email=" + mEmail+
"&pass=" + UrlManager.prepareUrlPart(mPassword);
} catch (Exception e) {
e.printStackTrace();
}

final ProgressDialog pDialog;
pDialog = new ProgressDialog(context);
pDialog.setMessage("Loading...");
pDialog.setCancelable(false);
pDialog.show();
Response.Listener<JSONObject> listener = new Response.Listener<JSONObject>()
{
@Override
public void onResponse(JSONObject response)
{
try
{
JSONObject userObj = response;
userInfo = new UserInfo();
userInfo.LoadItem(context,
userObj); 
String state = userObj.getString("State");
if (state .equals("1")) { 
// Load user data from json and save them into local database 
// User user = User.getInstance(); 
// user.loadFromJSon(response);
/// user.saveUser();
onResult(true); 
} else { 
onResult(false); 
}
}
catch (Exception e)
{
Log.d("Error", e.getMessage());
e.printStackTrace();
}
pDialog.dismiss();
}
};
Response.ErrorListener errorListener = new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error)
{
Toast.makeText(context, "Error", Toast.LENGTH_LONG).show();
pDialog.dismiss();
}
};
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url,null, listener, errorListener);
MyApplication.getInstance().addToRequestQueue(request);
}

最新更新