【问题标题】:Android cannot check json success and error responseAndroid 无法检查 json 成功和错误响应
【发布时间】:2014-01-29 17:13:25
【问题描述】:

我正在与一种情况作斗争。我正在从 PHP 服务器返回一些 json 数据,我的代码如下,

PHP API 代码:

if ($user != false) {
        $result = mysql_query("SELECT stock_name,stock_location FROM btrack_stock WHERE user_id= '$user_id'") or die(mysql_error());
        $rows = array();
        $count = mysql_num_rows($result);
        if($count > 0){
            while ($r = mysql_fetch_assoc($result)) {
              $rows[] = $r;
            }
            echo json_encode(array('usertransaction' => $rows));  
        }else{
            $response["error"] = 1;
            $response["error_msg"] = "You do not have any transaction so far. ";
            echo json_encode($response); 
        }
    }

在 android 端,我使用一个扩展 AsyncTask 的类,在我的 onPostExecute 上我使用:

protected void onPostExecute(JSONObject json) {
        try {

            if(json.getString("error_msg") != null){
                String err = json.getString("error_msg");
                stock_error.setText(err);
                stock_error.setVisibility(View.VISIBLE);
                pDialog.dismiss();
            }else{
                pDialog.dismiss();
                Toast.makeText(getApplicationContext(), "Success", Toast.LENGTH_LONG).show();
            }

        }catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

实际上,我想显示从 PHP 服务器返回的错误消息,并在收到成功消息时显示所有数据(这里我显示的是 Toast)。 我的问题是,如果json返回错误消息,我们如何显示错误消息,如果json不返回错误消息,我们如何显示成功。

* 如果我得到 error_msg 作为 json 响应,我的代码可以正常工作,但如果我返回其他数据,则应用程序卡在进程对话框中,并在 LogCat 中显示警告为“error_msg 没有值”。

提前致谢。

【问题讨论】:

  • 使用if(json.has("error_msg")
  • 非常感谢您的解决方案解决了问题。

标签: android json


【解决方案1】:

试试这个:

 if json.isNull("error_msg") {
       do_something()
 }
 else {
    json.getString("error_msg");
    do_something_else()
 }

【讨论】:

    猜你喜欢
    • 2018-05-30
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 2015-10-10
    • 2023-04-03
    • 2012-08-14
    相关资源
    最近更新 更多