How can I make two json parse

0

I need to parse two jsons I have it like this but I get an error.
The variable obj.descripcion does not give me an error if it sent one but when it sent two it gives me an error.

json that PHP returns and I capture in response

{"descripcion_necesidad":"plplpplpl","id_necesidad":"15"} 
{"descripcion_necesidad":"Necesidad por drogas","id_necesidad":"19"}

javascript

var obj = JSON.parse(respuesta);
console.log(obj.descripcion_necesidad);

PHP here I return the value

public static function buscarFocoController($datos){

     $respuesta = ideasModels::buscarFocoModels($datos,$_SESSION["id"]);

     $longitud = count($respuesta);

     for($i=0; $i<$longitud; $i++)
     {
       echo json_encode($enviarDatos = array(
         "descripcion_necesidad"=>$respuesta[$i]["descripcion_necesidad"],
         "id_necesidad"=>$respuesta[$i]["id_necesidad"],
       ));
     }
}
    
asked by Alberto Julio Arce Escolar 29.05.2018 в 16:10
source

1 answer

3

Your problem is how you generate the json response from PHP.

public static function buscarFocoController($datos){

    $respuesta = ideasModels::buscarFocoModels($datos,$_SESSION["id"]);

    $longitud = count($respuesta);

    $json = array();

    for($i=0; $i<$longitud; $i++)
    {
       // agrego todo a un array
       $json[] = array(
          "descripcion_necesidad"=>$respuesta[$i]["descripcion_necesidad"],
          "id_necesidad"=>$respuesta[$i]["id_necesidad"],
       );

    }
    // una vez que tengo todo el for recorrido y el array armado
    // muestro el json
    echo json_encode($json);
}

Then later in javascript:

var obj = JSON.parse(respuesta);
// acá vas a tener un array de todos los elementos y dentro el
// objeto con "descripcion_necesidad" y "id_necesidad"
console.log(obj[0].descripcion_necesidad);
    
answered by 29.05.2018 / 16:29
source