¿Devolver JSON de PHP a JavaScript?
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.
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í.
Aquí hay un par de cosas que faltan en las respuestas anteriores:
Establece el encabezado en tu PHP:
header('Content-type: application/json'); echo json_encode($array);
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.
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}
?>