2011-04-14 13 views
11

Si tengo una llamada AJAX:¿Cómo puedo manejar mis datos JSON en jQuery Ajax éxito de devolución de llamada?

$.ajax({ 
    url: url, 
    dataType: 'json', 
    data: data, 
    success: function(json_data){ 
    //What's the efficient way to extract the JSON data and get the value 
    } 
}); 

servidor ha devuelto a mis js el siguiente JSON datos

{"contact":[{"address":[{"city":"Shanghai","street":"Long 
      Hua Street"},{"city":"Shanghai","street":"Dong Quan 
      Street"}],"id":"huangyim","name":"Huang Yi Ming"}]} 

En mi función del éxito de devolución de llamada jQuery AJAX, cómo extraer el valor de "nombre ", valor de" dirección "(que es una lista del objeto) ¿elegantemente?

No tengo experiencia con el manejo de datos jQuery y JSON en javascript. Entonces, me gustaría hacer algunas sugerencias sobre cómo manejar esta información de manera eficiente. Gracias.

Respuesta

12

Una cadena JSON se analiza en un objeto/matriz de JavaScript. Para que pueda acceder a los valores como acceder a cualquier propiedad del objeto, elemento de la matriz:

var name = json_data.contact[0].name; 
var addresses = json_data.contact[0].address; 

No acceder a los valores dentro de cada dirección, puede iterar sobre la matriz:

for(var i = addresses.length; i--;) { 
    var address = addresses[i]; 
    // address.city 
    // address.street 
    // etc 
} 

Si no tiene por lo mucha experiencia con JavaScript, sugiero al read this guide.

Cuestiones relacionadas