print json_encode php javascript json

json_encode - print json php



¿Devolviendo JSON de PHP a JavaScript? (5)

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 pseudo có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 se inserten los resultados de los dos bucles en $ json.


Aquí hay algunas cosas que faltan en las respuestas anteriores:

  1. Establecer encabezado en tu PHP:

    header(''Content-type: application/json''); echo json_encode($array);

  2. json_encode() puede devolver una matriz de JavaScript en lugar de un objeto de JavaScript, ver:
    Devolver JSON desde un script PHP
    Esto podría ser importante saber en algunos casos, ya que las matrices y los objetos no son lo mismo.


Hay una sección JSON en la documentación de PHP. Necesitarás PHP 5.2.0 sin embargo.

A partir de PHP 5.2.0, la extensión JSON se incluye y compila 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} ?>


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

json_encode

json_encode

Por favor use eso si puede y no sufre el síndrome de No Inventado Aquí.


Por lo general, le interesaría también tener cierta estructura para sus datos en el extremo receptor:

json_encode($result)

Esto conservará las claves de la matriz también.

Recuerde que json_encode solo funciona en datos con codificación utf8.


Puede usar Simple JSON para PHP . Envía los encabezados que te ayudan a forjar el JSON.

Parece que :

<?php // Include the json class include(''includes/json.php''); // Then create the PHP-Json Object to suits your needs // Set a variable ; var name = {} $Json = new json(''var'', ''name''); // Fire a callback ; callback({}); $Json = new json(''callback'', ''name''); // Just send a raw JSON ; {} $Json = new json(); // Build data $object = new stdClass(); $object->test = ''OK''; $arraytest = array(''1'',''2'',''3''); $jsonOnly = ''{"Hello" : "darling"}''; // Add some content $Json->add(''width'', ''565px''); $Json->add(''You are logged IN''); $Json->add(''An_Object'', $object); $Json->add("An_Array",$arraytest); $Json->add("A_Json",$jsonOnly); // Finally, send the JSON. $Json->send(); ?>