使用Json文件

时间:2018-02-16 17:21:39

标签: android json

我正在使用 Android Studio 中的应用程序从php查询中下载 json文件,但是当我设法从中读取json文件的内容时android,这个内容不像文本那样,因为在比较从app输入的文本和从json文件中读取的文本时,它永远不会匹配,尽管是相同的文本。 (例如:来自app的密码文本和来自json文件的密码)。

Php代码:

    <?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);

include('functions.php');
$col=$_GET["col"];
$colbus=$_GET["colbus"];
$tabla=$_GET["nomtable"];
$todfilas=$_GET["todasf"];
$dbuser =$_GET["username"];
$dbpass=$_GET["password"];
$dbbase=$_GET["dbname"];

//echo "$todfilas <br>";

if($todfilas == 1){
    $sqlt="SELECT * FROM $tabla";
}else{
    $sqlt="SELECT * FROM $tabla WHERE $col='$colbus'";
    }
//echo "$sqlt <br>";

if($resultset=getSQLResultSet($sqlt,$dbuser,$dbpass,$dbbase)){
    while ($row = $resultset->mysqli_fetch_array(MYSQLI_NUM)){
        echo json_encode($row);
    }
}

?>

来自Android Studio的代码:

private class ConsultData extends AsyncTask<String, Void, String> {
        @Override
        protected String doInBackground(String... urls) {

            // params comes from the execute() call: params[0] is the url.
            try {
                return downloadUrl(urls[0]);
            } catch (IOException e) {
                return "No es posible cargar pagina web o la direccion es invalida!";
            }
        }
        // onPostExecute displays the results of the AsyncTask.
        @Override
        protected void onPostExecute(String result) {

            JSONArray ja = null;
            try {
                ja = new JSONArray(result);
                Log.d("Password:",ja.getString(7)+"="+logPass.getText().toString().trim());

                logPass2.setText(ja.getString(7).trim());

                String pass1 =logPass2.toString();

                String pass0 = logPass.toString().trim();

                if(pass0==pass1){
                    showAlertDialog("Session:","login is valid!");
                } else{
                    showAlertDialog("Session:","password does not match!");
                }

            } catch (JSONException e) {
                e.printStackTrace();
            }

        }
    }

我不确定在php查询中创建json文件的方法是吗?因为我可以在Android Studio中看到json数组的内容,但是当我比较json数组中的文本时,即使它们是相同的(“123”=“123”),它们也不匹配。

1 个答案:

答案 0 :(得分:0)

在看到你的代码时,你做的很多错误就像你得到的文本视图值不正确

像这样改变代码

String pass1 =logPass2.getText().toString();

      String pass0 = logPass.getText().toString().trim();

还比较字符串

 if(pass0.equals(pass1)){
                    showAlertDialog("Session:","login is valid!");
                } else{
                    showAlertDialog("Session:","password does not match!");
                }

而不是

 if(pass0==pass1){
                    showAlertDialog("Session:","login is valid!");
                } else{
                    showAlertDialog("Session:","password does not match!");
                }