2010-08-22 19 views
20

Estoy tratando de capturar algunos datos a través de JSONP. Usando Firebug, puedo ver los datos correctamente devueltos, pero me está costando trabajo pensar cómo tengo que analizarlos. El retorno de datos es realmente una matriz anidada correcta? someFunction es el nombre de la función de devolución de llamada. Así es como se ve la información:Cómo analizar datos JSONP devueltos desde el servidor remoto

someFunction([ 
{ 
     "title":"Sample Title", 
     "link":"http://example.com", 
     "description":"Sample Description", 
     "publisher":"Sample Publisher", 
     "creator":"Sample Author", 
     "date":"Thu, 19 Aug 2010 12:41:29 GMT", 
     "num_pages":10, 
     "num_results":"10" 
}, 
]); 

Solo un poco confundido acerca de cómo analizar y generar correctamente.

Respuesta

24

No es necesario analizar los datos. Ya es un objeto JavaScript válido. Por ejemplo, para imprimir la propiedad de descripción para el primer objeto dentro someFunction

function someFunction(result) { 
    alert(result[0].description); // alerts "Sample Description" 
} 
2

Escriba una función con el nombre correcto y los argumentos correctos. El motor JS hará el análisis sintáctico para ti.

function someFunction(data) { 
    // Now data is an Array, containing a single 
    // Object with 8 properties (title, link, etc) 
} 
+0

Sólo para ser claro: Para este ejemplo hay 1 objeto con 8 propiedades, pero otros servidores pueden volver JSON con varios objetos. Usar console.log (data) es útil para obtener una lista de objetos devueltos. –

Cuestiones relacionadas