首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >org.json.JSONException:没有成功异常的价值

org.json.JSONException:没有成功异常的价值
EN

Stack Overflow用户
提问于 2015-05-05 08:28:11
回答 2查看 3.6K关注 0票数 0

我的注册AsyncTask运行良好,我的数据保存在PHP上运行良好,但我面临一个例外。

代码语言:javascript
代码运行次数:0
运行
复制
 public class SignupJson extends AsyncTask<String,String,String> {


            //SignupJSONParser sjson = new SignupJSONParser();
            JSONObject json = new JSONObject();
            //private static final String TAG_SUCCESS = "success";

            HttpParams mhttpparams = new BasicHttpParams();


            @Override
            protected void onPreExecute() {

                pDialog = new ProgressDialog(SignupActivity.this);
                pDialog.setMessage("Creating Account..");
                pDialog.setIndeterminate(false);
                pDialog.setCancelable(true);
                pDialog.show();
                super.onPreExecute();
            }

            @Override
            protected String doInBackground(String... args) {

                String getName = _Name.getText().toString();
                String  getEmail = _Email.getText().toString();
                String  getPassword = _Password.getText().toString();

         List<NameValuePair> pair = new    ArrayList<NameValuePair>();
                pair.add(new BasicNameValuePair("name",getName));
                pair.add(new BasicNameValuePair("id",getEmail));
                pair.add(new BasicNameValuePair("pass", getPassword));

                // int success=0;
                json = JSONParser.makeHttpRequest( URL,"POST", pair);

                Log.d("Create Response", json.toString());

                try {

                    String success = json.getString(TAG_SUCCESS);

                    //success = json.getInt(TAG_SUCCESS);

                    if (json.getString(TAG_SUCCESS)!=null) {

                        if (Integer.parseInt(success)==1)
                        {


                        Log.d("User Created!", json.toString());
                        Intent login = new Intent(getApplicationContext(), LoginActivity.class);
                        startActivity(login);
                        // closing this screen

                        finish();

                        //return json.getString(TAG_MESSAGE);

                    }
                        else {

                            Log.d("Registration Failure!", json.getString(TAG_MESSAGE));

                            return json.getString(TAG_MESSAGE);
                        }
                    }

                } catch (JSONException e) {
                    e.printStackTrace();
                    // success=0;
                }

                return null;
                // return ""+success;
            }

            @Override
            protected void onPostExecute(String s) {


                pDialog.dismiss();

                if (json != null){
                    Toast.makeText(getApplicationContext(),"Registration Done",Toast.LENGTH_SHORT).show();
                    //Toast.makeText(MainActivity.this, json.toString(), Toast.LENGTH_LONG).show();
                }

            }



        }

    }

LogCat:

org.json.JSONObject.getString(JSONObject.java:514) W/System.err: org.json.JSONException: /com.example.ahmadkhan.routeapp W/System.err: at org.json.JSONObject.get(JSONObject.java:354) com.example.ahmadkhan.routeapp W/System.err: at org.json.JSONObject.get /com.example.ahmadkhan.routeapp W/System.err: at com.example.ahmadkhan.routeapp。SignupActivity$SignupJson.doInBackground(SignupActivity.java:169) com.example.ahmadkhan.routeapp W/System.err: at com.example.ahmadkhan.routeapp.SignupActivity$SignupJson.doInBackground(SignupActivity.java:129) com.example.ahmadkhan.routeapp W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:287) com.example.ahmadkhan.routeapp W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:234)android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:108com.example.ahmadkhan.routeapp W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:57com.example.ahmadkhan.routeapp W/System.err: at java.lang.Thread.run(Thread.java:841)

在线误差

代码语言:javascript
代码运行次数:0
运行
复制
String success = json.getString(TAG_SUCCESS);

//success = json.getInt(TAG_SUCCESS);

if (json.getString(TAG_SUCCESS)!=null) {
}

谁能给我建议一个解决方案,如何摆脱这个错误,并告诉我如何处理服务器响应,以防止成功和失败的连接到PHP Wamp Server。

EN

回答 2

Stack Overflow用户

发布于 2015-05-05 08:57:38

当在对象中找不到输入键时,JSONObject.get*()方法不返回null,它们抛出一个JSONException

例如getString()

抛出: JSONException -如果键没有字符串值。

相反,请使用JSONObject.opt*()方法:

代码语言:javascript
代码运行次数:0
运行
复制
String success = json.optString(TAG_SUCCESS);
if (success != null) {
    // ...
}
票数 0
EN

Stack Overflow用户

发布于 2015-05-05 09:27:07

试试这个,我希望它能帮到你..!

JSONObject json = JSONParser.makeHttpRequest( URL,"POST",结对);

代码语言:javascript
代码运行次数:0
运行
复制
           if(json!=null)
             {
            Log.d("Create Response", json.toString());

            try {

                String success = json.getString(TAG_SUCCESS);

                //success = json.getInt(TAG_SUCCESS);

                if (json.getString(TAG_SUCCESS)!=null) {

                    if (Integer.parseInt(success)==1)
                    {


                    Log.d("User Created!", json.toString());
                    Intent login = new Intent(getApplicationContext(),  LoginActivity.class);
                    startActivity(login);
                    // closing this screen

                    finish();

                    //return json.getString(TAG_MESSAGE);

                }
                    else {

                        Log.d("Registration Failure!", json.getString(TAG_MESSAGE));

                        return json.getString(TAG_MESSAGE);
                    }
                }

            } catch (JSONException e) {
                e.printStackTrace();
                // success=0;
            }
      }else{
          Log.d("getting null response from server!");
       }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30047808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档