De código PHP quiero crear un json array:

[
  {"region":"valore","price":"valore2"},
  {"region":"valore","price":"valore2"},
  {"region":"valore","price":"valore2"}
]

¿Cómo puedo hacer esto?

InformationsquelleAutor Mimmo | 2011-07-18

9 Comentarios

  1. 145

    Easy peasy lemon squeezy: http://www.php.net/manual/en/function.json-encode.php

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

    Hay un post por andyrusterholz at g-m-a-i-l dot c-o-m en la citada página, que también puede manejar complejas matrices anidadas (si eso es lo tuyo).

    • Dang, homie, que fueron instantáneos en la respuesta = ). Yo estaba emocionado acerca de la pregunta fácil = )
    • Tengo este código while($fila=mysql_fetch_assoc($query_insert)) { $control=array(‘región’=>$fila[«regione»],’totale’=>$fila[«prezzi»]); } print (json_encode(%del control)); pero devolver {«regione»:»Puglia»,»totale»:»5.15″} no [{..},{..}]
    • Agregar 1 para el limón de referencia. 🙂
    • Yo hice eso, pero la respuesta que obtengo mediante var_dumb de la función es la siguiente. ¿Cómo puedo deshacerme de la cadena(59)? cadena(59) «[{«resultado»: el»éxito»},{«message»:»Datos actualizados!»}]»
  2. 106

    Uso de PHP nativo json_encode, como este:

    <?php
    $arr = array(
        array(
            "region" => "valore",
            "price" => "valore2"
        ),
        array(
            "region" => "valore",
            "price" => "valore2"
        ),
        array(
            "region" => "valore",
            "price" => "valore2"
        )
    );
    
    echo json_encode($arr);
    ?>

    Actualización: para responder A tu pregunta en el comentario. Se hace así:

    $named_array = array(
        "nome_array" => array(
            array(
                "foo" => "bar"
            ),
            array(
                "foo" => "baz"
            )
        )
    );
    echo json_encode($named_array);
    • Disculpe, pero si yo quiero {«nome_array»: [{«foo»:»bar»},{«foo»:»baz»}]} ??
    • He actualizado mi respuesta para resolver su pregunta.
  3. 37

    Simple: Sólo tienes que crear una (anidada) array de PHP y llame a json_encode en él. Matrices numéricas se traducen en JSON listas ([]), matrices asociativas y objetos de PHP se traducen en objetos ({}). Ejemplo:

    $a = array(
            array('foo' => 'bar'),
            array('foo' => 'baz'));
    $json = json_encode($a);

    Te ofrece:

    [{"foo":"bar"},{"foo":"baz"}]
    • Disculpe, pero si yo quiero {«nome_array»: [{«foo»:»bar»},{«foo»:»baz»}]} ??
    • Leer mi post de nuevo. Si quieres que algo se traducen en un objeto JSON, hacen de él un array asociativo en PHP (donde las claves son cadenas de caracteres). Si desea que se traducen en un JSON lista, hacer un simple array (con entero implícita de las teclas). El valor de cada elemento de la matriz a su vez puede ser una matriz, que es lo que quieres.
    • Gracias a ello respondió a mi pregunta también.
    • Yo hice eso, pero la respuesta que obtengo mediante var_dumb de la función es la siguiente. ¿Cómo puedo deshacerme de la cadena(59)? cadena(59) «[{«resultado»: el»éxito»},{«message»:»Datos actualizados!»}]»
  4. 13

    Mejor forma en la que debe de ir cada momento para la creación de json en php para convertir primero los valores en un array ASOCIATIVO.

    Después de que simplemente codificar mediante json_encode($associativeArray). Creo que es la mejor manera de crear json en php, porque cada vez que estamos obteniendo resultado formulario de consulta sql en php la mayoría del tiempo tenemos valores mediante fetch_assoc función, que también devuelve una matriz asociativa.

    $associativeArray = array();
    $associativeArray ['FirstValue'] = 'FirstValue';


    etc.

    Después de eso.

    json_encode($associativeArray);
  5. 3

    también para la matriz se puede utilizar corta annotattion:

    $arr = [
        [
            "region" => "valore",
            "price" => "valore2"
        ],
        [
            "region" => "valore",
            "price" => "valore2"
        ],
        [
            "region" => "valore",
            "price" => "valore2"
        ]
    ];
    
    echo json_encode($arr);
  6. 1

    Con solo teclear una sola línea le dará una matriz json ,

    echo json_encode($array);

    Normalmente se utiliza json_encode para leer datos desde un dispositivo ios o android. así que asegúrese de que usted no echo otra cosa que no sea la exacta json array.

  7. 1
    $json_data = '{ "Languages:" : [ "English", "Spanish" ] }';
    $lang_data = json_decode($json_data);
    var_dump($lang_data);
    • ¿Cómo agregar dinámicamente un nuevo lenguaje para las lenguas nodo en PHP? Gracias.
  8. 1

    Que es lo que yo soy capaz de hacer con la ayuda de la solución dada por @tdammers a continuación.
    La siguiente línea se colocarán dentro de un bucle foreach.

    $array[] = array('power' => trim("Some value"), 'time' => "time here" );

    Y luego codificar la matriz con json codificar la función

    json_encode(array('newvalue'=> $array), 200)
  9. 0
    <?php 
    
        $username=urldecode($_POST['log_user']);
    
        $user="select * from tbl_registration where member_id= '".$username."' ";
        $rsuser = $obj->select($user);
        if(count($rsuser)>0)
        {
            //  (Status if 2 then its expire)    (1= use) ( 0 = not use)
    
            $cheknew="select name,ldate,offer_photo  from tbl_offer where status=1 ";
            $rscheknew = $obj->selectjson($cheknew);
    
            if(count($rscheknew)>0)
            {
    
                 $nik=json_encode($rscheknew);
                echo "{\"status\" : \"200\" ,\"responce\" : \"201\", \"message\" : \"Get Record\",\"feed\":".str_replace("<p>","",$nik). "}";
            }
            else
            {
                $row2="No Record Found";
                $nik1=json_encode($row2);
                echo "{\"status\" : \"202\",  \"responce\" : \"604\",\"message\" : \"No Record Found \",\"feed\":".str_replace("<p>","",$nik1). "}";
            }
        }
        else
        {
            $row2="Invlid User";
            $nik1=json_encode($row2);
            echo "{\"status\" : \"404\", \"responce\" : \"602\",\"message\" : \"Invlid User \",\"feed\":".str_replace("<p>","",$nik1). "}";
        }
    
     ?>

Dejar respuesta

Please enter your comment!
Please enter your name here