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