jQuery — получение вложенного объекта из JSON

#javascript #jquery #json

#javascript #jquery #json

Вопрос:

Я пытаюсь получить вложенный объект (current_time) из JSON.

 {
  "ip": "134.201.250.155",
  "hostname": "134.201.250.155",
  "time_zone": {
    "id": "America/Los_Angeles",
    "current_time": "2018-03-29T07:35:08-07:00",
    "gmt_offset": -25200,
    "code": "PDT",
    "is_daylight_saving": true
  }
}

 

У меня есть такой скрипт, но вложенный объект не отображается.

 $.getJSON(ipAdressUrl, function(data) {
    $('#ip-data').html('<p>'   data.city   '</p>'),
    $('#ip-data').append('<p>'   data.region_name   '</p>'),
    $('#ip-data').append('<p>'   data.zip   '</p>'),
    $('#ip-data').append('<p>'   data.time_zone.current_time   '</p>');
});
 

Консоль.журнал дает мне данные обратной связи.временная зона не определена. Итак, я решил

 ...
$('#ip-data').append('<p>'   data.time_zone.('current_time')   '</p>');
...

OR

...
$('#ip-data').append('<p>'   data.time_zone.(1)   '</p>');
...
 

Но без желаемого результата. Может кто-нибудь, пожалуйста, скажите мне, как добраться до определенного элемента во вложенном массиве?

Комментарии:

1. В любом случае вы получите сообщение об ошибке, потому что time_zone не определено, и вы не можете прочитать свойства из undefined. В любом случае, вы можете использовать квадратные скобки, подобные data.time_zone['current_time'] , но без точки

2. Когда вы console.log (данные), что вы получаете. Пожалуйста, поместите этот полный объект для справки, чтобы понять форму данных.

3. Я попытался записать данные в консоль, и объект вернулся ко мне. Я понимаю, что у меня нет доступа к функции отображения времени премиум-класса. Большое вам спасибо, но я дурак. Если бы у меня была возможность просматривать функции времени, какой подход лучше? Объединение или использование квадратных скобок.