2010-08-22 12 views
20

Sto cercando di acquisire alcuni dati tramite JSONP. Usando Firebug, sono in grado di vedere i dati correttamente restituiti, ma sto facendo fatica a pensare a come devo analizzarli. Il ritorno dei dati è davvero un array annidato corretto? someFunction è il nome della funzione di callback. Ecco come appaiono i dati:Come analizzare i dati JSONP restituiti dal server 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 po 'confuso su come analizzare e produrre correttamente.

risposta

24

Non è necessario analizzare i dati. È già un oggetto JavaScript valido. Ad esempio, per stampare la proprietà descrizione per il primo oggetto all'interno someFunction

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

Scrivere una funzione con il nome corretto e gli argomenti corretti. Il motore JS farà il parsing per te.

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

Giusto per essere chiari: Per questo esempio v'è 1 oggetto con 8 proprietà, ma altri server possono restituire JSON con più oggetti. L'utilizzo di console.log (dati) è utile per ottenere un elenco di oggetti restituiti. –

Problemi correlati