Как обрабатывать данные JSON в обратном вызове jQuery Ajax?

Если у меня есть вызов ajax:

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

Сервер вернул мои js следующие данные JSON

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

В моей функции обратного вызова успеха jQuery AJAX, как извлечь значение " имя", значение " адрес" (который является списком объектов) элегантно?

У меня нет опыта обработки jQuery и JSON в javascript. Поэтому я хотел бы задать несколько предложений о том, как эффективно обрабатывать эти данные. Спасибо.

Ответ 1

Строка JSON анализируется в объект/массив JavaScript. Таким образом, вы можете получить доступ к таким значениям, как доступ к любому объекту, элементу массива:

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

Получите доступ к значениям внутри каждого адреса, вы можете выполнять итерацию по массиву:

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

Если у вас не так много опыта работы с JavaScript, я предлагаю прочитать это руководство.