JSONEXCEPTION: конец символа 74 из - PullRequest
       38

JSONEXCEPTION: конец символа 74 из

0 голосов
/ 04 сентября 2018

в моем PHP-файле. Я размещаю данные в Android Studio через Json. Я не знаю, в чем проблема, почему мои данные равны нулю, когда я получаю их мое приложение для Android.

<?php
session_start();
include "connection.php";
//include "header.php";

    $response = array();
    $propertyType = $_POST["propertyType"];
    $placeType = $_POST["placeType"];
    $guestType = $_POST["guestType"];
    $location = $_POST["location"];
    $size = $_POST["size"];
    $age = $_POST["age"];
    $boarder = $_POST["boarder"];
    $bedroom = $_POST["bedroom"];
    $bedType = $_POST["bedType"];
    $bedCount = $_POST["bedCount"];
    $bathroom = $_POST["bathroom"];
    $streetAdd = $_POST["streetAdd"];
    $subdAdd = $_POST["subdAdd"];
    $cityAdd = $_POST["cityAdd"];
    $building_amenities = $_POST["building_amenities"];
    $unit_amenities = $_POST["unit_amenities"];
    $safety_amenities = $_POST["safety_amenities"];
    $pet = $_POST["pet"];
    $name = $_POST["name"];
    $description = $_POST["description"];
    $cover_photo = $_POST["cover_photo"];

//    $more_photo = $_POST["more_photo"];
//    $count = $_POST["more_photo_count"]; //count of image

    $rules = $_POST["rules"];
    $abouts = $_POST["abouts"];
    $price = $_POST["price"];
    $status = "Pending";
    $user_id = $_POST["user_id"];

    $arr = array();
//    $num_count = (int)$count;
//
//    $json = file_get_contents('php://input');
//    $obj = json_decode($json);
//    for($i = 0; $i < $num_count; $i++){
//
//        $arr[i] = $obj->{'photo'+i};
//    }


    if($conn)
    {
         $res = mysqli_query($conn,"insert into apartments (propertyType,placeType,guestType,location, size, age, boarder,bedroom,bedType,bedCount,bathroom,streetAdd,subdAdd,cityAdd,building_amenities,unit_amenities,safety_amenities,pet,name,
         description,cover_photo,rules,abouts,price, user_id, status) values ('$propertyType','$placeType','$guestType','$location','$size','$age','$boarder','$bedroom','$bedType','$bedCount','$bathroom',
         '$streetAdd','$subdAdd','$cityAdd','$building_amenities','$unit_amenities','$safety_amenities','$pet','$name','$description',
         '$cover_photo','$rules','$abouts','$price','$user_id','$status')");


        if($res)
        {
           $res1 = mysqli_query($conn,"Select * from apartments where name = '$name' && user_id = '$user_id'");
            if (mysqli_num_rows($res1) > 0) {
                // output data of each row
                while($row = mysqli_fetch_assoc($res1)) {

                    $user_id = $row['user_id'];
                    $desc = $row['description'];
                    $status = $row['status'];
                }


                $response["user_id"] = $user_id;
                $response['description'] = $desc;
                $response['status'] = $status;
                echo json_encode(array( "myArray" =>$response));
            }

        } else
            die(mysqli_error($conn));

    } 

    else 
    {   
        echo "Not Connected";
    }




?>  

А вот мой файл Android, где я буду использовать данные, которые я получаю из PHP. Это также файл Android, где я получаю значения, которые я пост на мой PHP выше. Как видите, я посылаю много ценности в PHP, потому что я сохраняю все это в базу данных Mysql через PHP. я надеюсь Вы можете помочь мне снова получить эти значения, чтобы я мог использовать их для следующее занятие.

public class Conn_postApartment  extends AsyncTask<String[],Void,String> {
    Context context;
    AlertDialog alertDialog;
    private static final String UPLOAD_URL = "//192.168.43.205/ITSP/insert_image.php";

    public Conn_postApartment(Context context)
    {
        this.context = context;
    }

    @Override
    protected void onPreExecute() {
        alertDialog = new AlertDialog.Builder(context).create();
        alertDialog.setTitle("Post Status");
    }

    @Override
    protected void onPostExecute(String s) {
        alertDialog.setMessage(s);
        alertDialog.show();

    }

    @Override
    protected String doInBackground(String[]... voids) {
        String user_id = "";
        String trial = "";
        Uri filePath;
        URL urlcover = null;

//        String loginURL="https://public-api.wordpress.com/rest/v1/sites/hackpundit.com/posts?number=5&page=1&type=post&fields=id,title,URL";


        String[] step1Array = voids[0];
        String[] imageArray = voids[1];
        String[] step2Array = voids[2];
        String[] step3Array = voids[3];
        int c = imageArray.length;
        String newuri = step2Array[2];
        String count = Integer.toString(c);
        String photo = "";
        try {
            urlcover = new URL("http://apartment" + newuri);
        }catch (MalformedURLException e){
            System.out.println("Malformed URL: " + e.getMessage());
        }


        try {
            JSONObject jsonObject = new JSONObject();
            for (int i = 0; i < imageArray.length; i++) {
                jsonObject.put("photo" + i, imageArray[i]);
            }

            photo = jsonObject.toString();

        } catch (JSONException e){

        }

        String conn = "http://192.168.43.205/ITSP/new_apartment.php";

        try {
            URL url = new URL(conn);
            HttpURLConnection http = (HttpURLConnection) url.openConnection();
            http.setRequestMethod("POST");
            http.setDoInput(true);
            http.setDoOutput(true);

            OutputStream ops = http.getOutputStream();
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(ops, "UTF-8"));
            String data = URLEncoder.encode("propertyType","UTF-8")+"="+URLEncoder.encode(step1Array[0],"UTF-8")
                    +"&&"+URLEncoder.encode("placeType","UTF-8")+"="+URLEncoder.encode(step1Array[1],"UTF-8")
                    +"&&"+URLEncoder.encode("guestType","UTF-8")+"="+URLEncoder.encode(step1Array[2],"UTF-8")
                    +"&&"+URLEncoder.encode("location","UTF-8")+"="+URLEncoder.encode(step1Array[3],"UTF-8")
                    +"&&"+URLEncoder.encode("size","UTF-8")+"="+URLEncoder.encode(step1Array[4],"UTF-8")
                    +"&&"+URLEncoder.encode("age","UTF-8")+"="+URLEncoder.encode(step1Array[5],"UTF-8")
                    +"&&"+URLEncoder.encode("boarder","UTF-8")+"="+URLEncoder.encode(step1Array[6],"UTF-8")
                    +"&&"+URLEncoder.encode("bedroom","UTF-8")+"="+URLEncoder.encode(step1Array[7],"UTF-8")
                    +"&&"+URLEncoder.encode("bedType","UTF-8")+"="+URLEncoder.encode(step1Array[8],"UTF-8")
                    +"&&"+URLEncoder.encode("bedCount","UTF-8")+"="+URLEncoder.encode(step1Array[9],"UTF-8")
                    +"&&"+URLEncoder.encode("bathroom","UTF-8")+"="+URLEncoder.encode(step1Array[10],"UTF-8")
                    +"&&"+URLEncoder.encode("streetAdd","UTF-8")+"="+URLEncoder.encode(step1Array[11],"UTF-8")
                    +"&&"+URLEncoder.encode("subdAdd","UTF-8")+"="+URLEncoder.encode(step1Array[12],"UTF-8")
                    +"&&"+URLEncoder.encode("cityAdd","UTF-8")+"="+URLEncoder.encode(step1Array[13],"UTF-8")
                    +"&&"+URLEncoder.encode("building_amenities","UTF-8")+"="+URLEncoder.encode(step1Array[14],"UTF-8")
                    +"&&"+URLEncoder.encode("unit_amenities","UTF-8")+"="+URLEncoder.encode(step1Array[15],"UTF-8")
                    +"&&"+URLEncoder.encode("safety_amenities","UTF-8")+"="+URLEncoder.encode(step1Array[16],"UTF-8")
                    +"&&"+URLEncoder.encode("pet","UTF-8")+"="+URLEncoder.encode(step1Array[17],"UTF-8")
                    +"&&"+URLEncoder.encode("name","UTF-8")+"="+URLEncoder.encode(step2Array[0],"UTF-8")
                    +"&&"+URLEncoder.encode("description","UTF-8")+"="+URLEncoder.encode(step2Array[1],"UTF-8")
                    +"&&"+URLEncoder.encode("cover_photo","UTF-8")+"="+URLEncoder.encode(urlcover.toString(),"UTF-8")
//                    +"&&"+URLEncoder.encode("more_photo","UTF-8")+"="+URLEncoder.encode(photo,"UTF-8")
//                    +"&&"+URLEncoder.encode("more_photo_count","UTF-8")+"="+URLEncoder.encode(count,"UTF-8")
                    +"&&"+URLEncoder.encode("rules","UTF-8")+"="+URLEncoder.encode(step3Array[0],"UTF-8")
                    +"&&"+URLEncoder.encode("user_id","UTF-8")+"="+URLEncoder.encode("shaira","UTF-8") //user_id
                    +"&&"+URLEncoder.encode("abouts","UTF-8")+"="+URLEncoder.encode(step3Array[1],"UTF-8")
                    +"&&"+URLEncoder.encode("price","UTF-8")+"="+URLEncoder.encode(step3Array[2],"UTF-8");


            writer.write(data);
            writer.flush();
            writer.close();
            ops.close();

            InputStream ips = http.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(ips,"ISO-8859-1"));
            String line = "";

            StringBuilder sb = new StringBuilder();
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(http.getInputStream()));

            //A simple string to read values from each line
            String json;

            try {
                //reading until we don't find null
                while ((json = bufferedReader.readLine()) != null) {
                    sb.append(json + "\n");
                }

                JSONTokener result = new JSONTokener(sb.toString());
                JSONObject jObject = new JSONObject(result);
                String samp = result.toString().trim();
//                trial = jObject.toString();

                JSONObject obj= new JSONObject(result);
                JSONArray array=obj.getJSONArray("myArray");
                jObject = array.getJSONObject(0);
                 user_id = jObject.getString("user_id");
                trial = user_id;

            }catch (IOException err){
                trial = err.getMessage() + "IO";
            }catch (JSONException err){
                trial = err.getMessage() + user_id;
            }


        } catch (MalformedURLException e) {
            trial = e.getMessage()  + "Malform";
        } catch (IOException e) {
            trial = e.getMessage();
        }
//        catch (JSONException e) {
//            status = e.getMessage();
//        }


        return trial;
    }

}

Ошибка была отловлена ​​JSONException, в котором указано, что Конец ввода в символе 74 из ("myArray": {"user_id": "myName", "description", "desciptionssss", "status": "Pending"}}

...