Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Recorrer JSON

Estas en el tema de Recorrer JSON en el foro de Frameworks JS en Foros del Web. Hola foreros, necesito de vuestra ayuda para superar un obstáculo un poco desquiciante. Tengo lo siguiente: Código: jQuery(document).ready(function() { jQuery("#holidays_person").change(function () { jQuery("#holidays_person option:selected").each(function () ...
  #1 (permalink)  
Antiguo 19/05/2009, 05:35
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Recorrer JSON

Hola foreros, necesito de vuestra ayuda para superar un obstáculo un poco desquiciante. Tengo lo siguiente:

Código:
jQuery(document).ready(function() {
    jQuery("#holidays_person").change(function () {
        jQuery("#holidays_person option:selected").each(function () {
        	jQuery.ajax({
                type: "GET",
                url:  "<?php echo url_for('holidays/requestInfo')?>",
                data: "person="+jQuery("#holidays_person option:selected").val(),
                complete: function(json){
                    jQuery.each(json, function(i,item){
                        alert(item['days']);
                    });
                }
            });
                            
        });
    });
});
Esta llamada AJAX me retorna la siguiente cadena json:

Cita:
([{"id":1,"days":"2","start":"2009-05-18 18:07:00","end":"2009-05-20 8:08:00"},"id":2,"days":"3","start":"2009-05-20 11:32:27","end":"2009-05-22 1:32:31"}])
El problema que tengo es que no se como recorrer este json para ir recuperando los valores que quiera, como veis hago lo siguiente pero no hay resultado, el alert me sale undefined.

Código:
complete: function(json){
                    jQuery.each(json, function(i,item){
                        alert(item.days);
                    });
                }
He googleado mucho y probado mil formas diferentes pero sin ningún resultado, alguien tiene alguna idea de como hacerlo?

Gracias de antemano y un saludo!

SOLUCIONADO!

Cita:
success: function(request){
var i = 0;
var days = 0;
var size = request.length;
for (i = 0; i < size; i++){
days = days + request[i]['days'];
}
Después de mucho batallar he solucionado el problema, dejo el código por si interesa, gracias de todos modos!

Última edición por komodo; 19/05/2009 a las 09:32 Razón: Solucionado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:17.