miércoles, 21 de noviembre de 2012

php json_encode() y como recorrer array json con jquery

Mi nuevo trabajo me está llevando a aprender algo de jquery y ajax. Hoy se me presentó el problema de recorrer un array de objetos json creado desde php con la función json_encode(). Lo que hace esta función es devolver el código tal cual lo necesita javascript para inicializar un array, por lo que ponemos:
var myObjetoJson = <?php echo json_encode($myObjeto)?>
y ya sale andando como piña.

Ahora para recorerlo: Cómo funciona jQuery.each()?
 jQuery.each(array_de_datos, function(clave, valor){ /* lógica */ });
array_de_datos, coleccion de objetos json o datos

function que manejará el array, el cual se ejecuta en cada posicion del array, por cierto, esta funcion requiere de 2 parámetros los cuales son:

clave: posicion en el arreglo
valor: dato de la posicion

2 comentarios:

  1. Como le haces cuando quieres enviar el resultado de un query con multiples registros por medio de json, como los recibes en jquery y como recorres el arreglo?

    $resultado = pg_query($database, "SELECT *FROM municipios WHERE id_estado='$_SESSION[usuario_estado]' AND id_jurisdiccion='$id_jurisdiccion[0]';");
    while($row = pg_fetch_array($resultado))
    {
    $return_array['latitud'] = $row['latitud'];
    $return_array['longitud'] = $row['longitud'];
    $return_array['municipio'] = $row['nombre_municipio'];
    array_push($return_array, $row_array);
    }
    echo json_encode($return_array);
    }

    ResponderEliminar
    Respuestas
    1. hola Omar, simplemente recibes el json en una variable javascript e iteras con each, fijate aquí:

      http://api.jquery.com/jQuery.getJSON/

      creo que es lo que estas buscando

      Eliminar