¿Devolver JSON de PHP a JavaScript?

Resuelto AquinasTub asked hace 54 años • 6 respuestas

Tengo un script PHP que se llama a través de jQuery AJAX. Quiero que el script PHP devuelva los datos en formato JSON al javascript. Aquí está el pseudocódigo en el script PHP:

$json = "{";
foreach($result as $addr)
{
    foreach($addr as $line)
    {
        $json .= $line . "\n";
    }
    $json .= "\n\n";
}
$json .= "}";

Básicamente, necesito que los resultados de los dos bucles for se inserten en $json.

AquinasTub avatar Jan 01 '70 08:01 AquinasTub
Aceptado

PHP tiene una función de serialización JSON incorporada.

json_encode

código_json

Úselo si puede y no sufre el síndrome No inventado aquí.

Kent Fredric avatar Mar 25 '2009 16:03 Kent Fredric

Aquí hay un par de cosas que faltan en las respuestas anteriores:

  1. Establece el encabezado en tu PHP:

    header('Content-type: application/json');
    echo json_encode($array);
    
  2. json_encode()puede devolver una matriz JavaScript en lugar de un objeto JavaScript ; consulte:
    Devolver JSON desde un script PHP.
    En algunos casos, podría ser importante saber esto, ya que las matrices y los objetos no son lo mismo.

aesede avatar Jul 01 '2015 15:07 aesede

Hay una sección JSON en la documentación de PHP. Sin embargo, necesitarás PHP 5.2.0.

A partir de PHP 5.2.0, la extensión JSON está incluida y compilada en PHP de forma predeterminada.

Si no lo hace, aquí está la biblioteca PECL que puede instalar.

<?php
    $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

    echo json_encode($arr); // {"a":1,"b":2,"c":3,"d":4,"e":5}
?>
Ólafur Waage avatar Mar 25 '2009 16:03 Ólafur Waage