Как создать правильный ответ json

#php #json

#php #json

Вопрос:

Я пытаюсь создать php-скрипт, который вернет правильно отформатированный ответ json, текущий мой ответ json будет содержать обратную косую черту или внутренние объекты будут заключены в кавычки.

 class myObject
{
    public $property1;
    public $property2;
    public $property3;
    public $property4;
}

$MyObjects = array();

$results = DB::table('sometable')->get();

foreach ($results as $result) {
    $MyObject = new myObject;
    $MyObject->property1 = $result->col_1;
    $MyObject->property2 = $result->col_2;
    $MyObject->property3 = $result->col_3;
    //$MyObjects[] = $MyObject;
    array_push($MyObjects, $MyObject);
}

var_dump($MyObjects);
echo json_encode($MyObjects);
  

Ответ №1:

Вы должны попробовать приведенный ниже код. Он вернет правильный ответ.

 <?php

$con=mysqli_connect("localhost","root","","mydb");
$response=array();

$query="select * from studmaster";
$result=$con->query($query);

if($result->num_rows>0)
{
    $response["student"]=array();
    while($rows=$result->fetch_array(MYSQLI_BOTH))
    {
        $student=array();
        $student["studid"]=$rows["studid"];
        $student["studname"]=$rows["studname"];
        $student["studmobno"]=$rows["studmobno"];
        array_push($response ["student"],$student);
    }

    $response["status"]=1;
    $response["message"]="Data Exist";
}
else
{
    $response["status"]=0;
    $response["message"]="Data Does Not Exist";
}
echo json_encode($response);

?>
  

Комментарии:

1. Где вы выяснили studid , studname или даже $student ? Каково соотношение кода, который вы опубликовали, с тем, что задано в OP? Где вы объяснили свой код? Как именно вы решаете вернуть правильно отформатированный ответ json, текущий мой ответ json будет содержать обратную косую черту или внутренние объекты будут заключены в кавычки. ?

2. Простой и понятный код для отправки данных через Json с использованием Php. Хороший ответ

Ответ №2:

Чтобы убрать обратную косую черту, вы можете написать-

 echo json_encode($MyObjects, JSON_UNESCAPED_SLASHES);