2017-01-09 12 views
-1

に変換することはできませんが、ここに私の問題だ:com.android.volley.ParseError:org.json.JSONException:値<java.lang.String型のBRがJSONArray

私はを介してサーバからデータを取得しようとしていますPHPをアンドロイドで実行しようとすると、次のエラーが表示されます。

[com.android.volley.ParseError:org.json.JSONException:java.lang.String型の値brをJSONArrayに変換できません]

https://jsonplaceholder.typicode.com/ のデータを使用しようとしたため、コードが正しいと確信しています。

私はxamppサーバーを使用しており、接続にはphpを使用しています。ここ

は私のJavaコードである:このため

final String url1 = "http://192.168.0.101/deliveryApp/sellerProfile.php"; 

    JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(url1, new Response.Listener<JSONArray>() { 
     @Override 
     public void onResponse(JSONArray response) { 

      Log.v("response is : ", String.valueOf(response)); 

      for (int i = 0 ; i < response.length() ; i++){ 
       try{ 
        JSONObject jsonObject = response.getJSONObject(i); 

        String tvfirstname = jsonObject.getString("firstname"); 
        String tvlastname = jsonObject.getString("lastname"); 
        String tvphonenumber = jsonObject.getString("email"); 
        String tvemail = jsonObject.getString("phonenumber"); 

        sellername.setText(tvfirstname +" "+ tvlastname); 
        selleremail.setText(tvemail+" "); 
        sellerphonenumber.setText(tvphonenumber+" "); 

       }catch (JSONException e){ 

       } 
      } 

     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      System.out.println(error); 
     } 
    }); 
    requestQueue.add(jsonArrayRequest); 

私のPHPスクリプト:

<?php 
    $dbname = "delivery_app"; 
    $username = "root"; 
    $password = ""; 
    $host = "localhost"; 

    $connection=mysqli_connect($host,$username,$password,$dbname); 

    session_start(); 
    $email = $_SESSION['tempemail']; 
    //$email   = $_POST["email"]; 

    $querySellerProfile = "SELECT * FROM login WHERE email = '$email'"; 

    if($fetchresult = mysqli_query($connection,$querySellerProfile)){ 
     while ($response = mysqli_fetch_array($fetchresult)) { 

      // echo $response['firstname']; 
      // echo $response['lastname']; 
      // echo $response['email']; 
      // echo $response['phonenumber']; 
      // echo $response['password']; 

      $response2[] = $response; 
     } 

     echo json_encode($response2); 

    }else{ 
     die("failed to get profile information"); 
    } 

/* 
    THIS CODE WILL RETRIEVE USER DATILS , AND ITS WORKING PERFECTLY 
*/ 
?> 

、サーバからの応答がある:

[ 
    { 
    "0": "2", 
    "1": "testfname", 
    "2": "testlname", 
    "3": "testemail", 
    "4": "9650684491", 
    "5": "5555", 
    "id": "2", 
    "firstname": "testfname", 
    "lastname": "testlname", 
    "email": "testemail", 
    "phonenumber": "9650684491", 
    "password": "5555" 
    } 
] 

私はPOSTMANアプリを使用しました私のPHPが動作しているかどうかを確認してください。

私のコードでは問題が見つかりません。

何か助けていただければ幸いです。

答えて

0

このようにしてください。

JSONARRAY配列=新しいJSONARRAY(応答);

forループでarrayを使用します。

+0

詳細を教えてください。 –

関連する問題