org.json.JSONException:在android studio中输入字符0处结束
当我试图从API检索JSON对象时,它会导致一个错误。我正在使用org.json.JSONException:在android studio中输入字符0处结束,android,json,Android,Json,当我试图从API检索JSON对象时,它会导致一个错误。我正在使用JSONObjectRequest来获得结果 这是我的活动方法: private void execute(最终上下文){ stringurl=UrlManager.getUrl(context,R.String.signup\uurl); User=User.getInstance(); 试一试{ url+=“&name=“+mFirstName+”&last=“+mLastName+”&mob=“+mMobile+ “&emai
JSONObjectRequest
来获得结果
这是我的活动方法:
private void execute(最终上下文){
stringurl=UrlManager.getUrl(context,R.String.signup\uurl);
User=User.getInstance();
试一试{
url+=“&name=“+mFirstName+”&last=“+mLastName+”&mob=“+mMobile+
“&email=“+mEmail”+
“&pass=“+UrlManager.prepareUrlPart(mPassword);
}捕获(例外e){
e、 printStackTrace();
}
最终进度对话框;
pDialog=新建进度对话框(上下文);
设置消息(“加载…”);
pDialog.setCancelable(假);
pDialog.show();
Response.ListenerListener=newresponse.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
试一试{
JSONObject userObj=新的JSONObject();
userObj=response;//response.getJSONObject(“UserInfo”);
userInfo=newuserinfo();
LoadItem(上下文,(JSONObject)userObj);
字符串状态=response.getString(“状态”);
如果(状态=“1”){
//从json加载用户数据并将其保存到本地数据库中
//User=User.getInstance();
//user.loadFromJSon(响应);
///saveUser();
onResult(true);
}否则{
onResult(假);
}
}捕获(例外e){
Log.d(“错误”,例如getMessage());
e、 printStackTrace();
}
pDialog.disclose();
}
};
Response.ErrorListener ErrorListener=新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Toast.makeText(上下文,“错误”,Toast.LENGTH_LONG).show();
pDialog.disclose();
}
};
JsonObjectRequest=newJSONObjectRequest(request.Method.POST,url,null,listener,errorListener);
MyApplication.getInstance().addToRequestQueue(请求);
}
我已经保证我的JSON是非空的。下面是一个JSON结果示例:
{“UserId”:60,“UserName”:“09111”,“Password”:“123”,“Email”:m@m.com“,”手机“:”09111111111“,”国有“:”0000000000“,”姓氏“:”mm“,”父亲姓名“,”生日“:”1990/10/11“,”州“:”1“}”
这就是问题中的错误:
org.json.JSONException: End of input at character 0 of
private void execute(最终上下文)
{
stringurl=UrlManager.getUrl(context,R.String.signup\uurl);
User=User.getInstance();
试一试{
url+=“&name=“+mFirstName+”&last=“+mLastName+”&mob=“+mMobile+
“&email=“+mEmail”+
“&pass=“+UrlManager.prepareUrlPart(mPassword);
}捕获(例外e){
e、 printStackTrace();
}
最终进度对话框;
pDialog=新建进度对话框(上下文);
设置消息(“加载…”);
pDialog.setCancelable(假);
pDialog.show();
Response.Listener=新建Response.Listener()
{
@凌驾
公共void onResponse(JSONObject响应)
{
尝试
{
JSONObject userObj=响应;
userInfo=newuserinfo();
userInfo.LoadItem(上下文,
用户对象);
字符串状态=userObj.getString(“状态”);
如果(state.equals(“1”){
//从json加载用户数据并将其保存到本地数据库中
//User=User.getInstance();
//user.loadFromJSon(响应);
///saveUser();
onResult(true);
}否则{
onResult(假);
}
}
捕获(例外e)
{
Log.d(“错误”,例如getMessage());
e、 printStackTrace();
}
pDialog.disclose();
}
};
Response.ErrorListener ErrorListener=新的Response.ErrorListener()
{
@凌驾
公共无效onErrorResponse(截击错误)
{
Toast.makeText(上下文,“错误”,Toast.LENGTH_LONG).show();
pDialog.disclose();
}
};
JsonObjectRequest=newJSONObjectRequest(request.Method.POST,url,null,listener,errorListener);
MyApplication.getInstance().addToRequestQueue(请求);
}
为什么要创建新的JSONObject
?只需使用参数JSONObject response
。我尝试了这个方法,但没有成功@admI测试了另外两个错误:在java中使用错误的变量并使用==来比较字符串尝试{JSONObject userObj=new JSONObject(response);字符串状态=userObj.getString(“state”);if(state.equals(“1”)){//从json加载用户数据并将其保存到本地数据库//user user=user.getInstance();//user.loadFromJSon(响应);///user.saveUser();Log.e(“val”,state);}}}catch(JSONException e){e.printStackTrace();}当使用JSONObject userObj=newJSONObject(响应)时,我得到的错误是无法解析构造函数的“JSONObject(org.json.JSONObject)”
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);
}