Foros del Web » Programando para Internet » Jquery »

Acceder a datos JSON con jQuery

Estas en el tema de Acceder a datos JSON con jQuery en el foro de Jquery en Foros del Web. Hola! Queria ver si me pueden ayudar con un problema que estoy teniendo... Realicé una aplicación que entrega datos en formato JSON. Esta es la ...
  #1 (permalink)  
Antiguo 02/01/2010, 15:52
 
Fecha de Ingreso: enero-2010
Mensajes: 2
Antigüedad: 14 años, 3 meses
Puntos: 0
Acceder a datos JSON con jQuery

Hola! Queria ver si me pueden ayudar con un problema que estoy teniendo...
Realicé una aplicación que entrega datos en formato JSON. Esta es la primera vez que trabajo con este tipo de datos. Un ejemplo de la salida que entrega la aplicacion es:

Código:
{
	"cines":[
	{
		"id":"1",
		"nombre":"Nombre del cine",
		"informacion":"Direccion X",
		"cantidad":"2",
		"peliculas":[
		{
			"titulo":"Avatar",
			"informacion":"2h 40min",
			"horario":"00:00"
			},
		{
			"titulo":"2012",
			"informacion":"2h 38min",
			"horario":"00:00"
			}
		]
	},{
		"id":"2",
		"nombre":"Nombre dle cine 2",
		"informacion":"Direccion Y",
		"cantidad":"2",
		"peliculas":[
		{
			"titulo":"Avatar B",
			"informacion":"2h 40min",
			"horario":"00:00"
			},
		{
			"titulo":"2012 B",
			"informacion":"2h 38min",
			"horario":"00:00"
			}
		]
	}
		]
	}
Luego, lo que hago es parsear los datos con jQuery de la siguiente forma:

Código:
$(document).ready(function () {

$.getJSON("http://www.dominio.com/api/json.php?variable=x&jsoncallback=?",
        function(data){
          $.each(data.cines, function(i,item){
            $("<li>").text(item.nombre).appendTo("#resultados");
          });
        });
})
El cual me devuelve una lista con los nombre de los cines:

Código:
<ul id="resultados">
  <li>Nombre del cine</li>
  <li>Nombre del cine 2</li>
</ul>
El problema que tengo es para acceder a los datos que estan dentro de "peliculas" (en el JSON). Se me ocurrio algo asi para acceder:

Código:
          $.each(data.cines.peliculas, function(i,item){
            $("<li>").text(item.titulo).appendTo("#resultados");
          });
Pero no me funcionó. ¿Cuál es la manera adecuada para acceder a los datos en el JSON?

Saludos y gracias
  #2 (permalink)  
Antiguo 04/01/2010, 16:53
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Acceder a datos JSON con jQuery

Creo que el primer each es la via que hay que tomar:

Cita:
$.each(data.cines, function(i,item){
A partir de ahi, tenes arrays, y los tratas como a los arrays nativos.

Encadenar asi no va:
Cita:
data.cines.peliculas
Pero que tal algo asi?:
Cita:
data.cines[0];
o

Cita:
data.cines['peliculas'];
Juga con eso. O ya lo resolviste?
  #3 (permalink)  
Antiguo 09/01/2013, 01:16
 
Fecha de Ingreso: enero-2013
Mensajes: 1
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Acceder a datos JSON con jQuery

Tengo un problemilla a ver si alguien me podría ayudar, estoy intentando mostrar los reultados de este API, si pongo la URL (la cual he puesto modificada por aqui por seguridad) en el navegador, me aparece un array con todas las noticias publicadas, pero no se como mostrar los resultados en la web.

Si alguien me puede ayudar se lo agradeceria muchisimo. os dejo el código que tengo por si me podeis ayudar a mostrar el contenido del API.

Muchas gracias


Código:
function getNoticias(url){
	$.post(url, function(data) {
		//obtenemos las noticias
		var txt = '';
		
		for(var i=0; i < data.length; i++){
			
			txt += 'Noticia' + data[i].id + '<br />';
			txt += data[i].title + '<br />';
			txt += data[i].date + '<br />';
			txt += data[i].order + '<br />';
			txt += data[i].image + '<br />';
			txt += '<pre>' + data[i].body + '</pre>';
			txt += '<br /><br />';
			
		}
	
		$('#result').html(txt);
		
	}, 'json');
}

$(document).ready(function() {
	//OBTENEMOS LA SESSION ID
	
	var fecha = new Date();
	var start = fecha.getDay() + '-' + (fecha.getMonth() + 1) + '-' + fecha.getFullYear();
	var end = fecha.getDay() + '-' + (fecha.getMonth() + 1) + '-' + (fecha.getFullYear() + 1);
	
	
	var urlSession = 'http://vita10.padelclick.com/api/newsession?apikey=YBrjfOdHb2JxxJax0NEW63rxyYwrO2WHxY2JWdpYmLYWM3zX842Nxu6rdCtG20upR9KM8hboQM6tF7ChU38h1Q';
	
	var urlNoticias = 'http://vita10.padelclick.com/api/news?start=6-8-2012&end=8-12-2100';
	urlNoticias += '&idsession=2dB8YZ9zR8fLBu5QozmBxjDBN3nthJgZX';
	
	$.post(urlSession, function(data) {

		//añadimos la sessionID a la url de las noticias
		urlNoticias += '&idsession=' + data.sessionID;
		alert(urlNoticias += '&idsession=' + data.sessionID);
		//ejecutamos la funcion que obtiene las noticias
		getNoticias(urlNoticias);
	
	}, 'json');

});

Última edición por dzirpeld; 09/01/2013 a las 01:22

Etiquetas: acceder, json
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




La zona horaria es GMT -6. Ahora son las 06:37.