0

Я не смог найти ответ на свой вопрос в интернете, и я думаю, что это будет полезно для других, если кто-то знающий сможет ответить на него.
Я хочу использовать утилиту - World Time API, но столкнулся с проблемой, я отправляю запрос fetch, получаю результат в виде JSON строки. Но это объект, а мне нужна конкретный ключ, как я могу это сделать?
Например, как получить ключ timezone, чтобы потом использовать значение? введите сюда описание изображения

fetch('https://worldtimeapi.org/api/timezone/Europe/London')
    .then((response) => response.json())
    .then((json) => {
        console.log(json)
    })
Grundy
  • 81,538
jojoj
  • 11
  • И заголовок переведи – Grundy Apr 15 '22 at 10:51
  • Добавь пример, какой конкретно запрос ты делаешь, и пример ответа, который получаешь – Grundy Apr 15 '22 at 10:54
  • Например, запрос на http://worldtimeapi.org/api/timezone/Europe/Moscow возвращает не массив, а отдельный объект, поэтому не понятно в чем именно проблема у тебя? – Grundy Apr 15 '22 at 10:55
  • Код, нужно добавить текстом, а не картинкой. – Grundy Apr 15 '22 at 10:56
  • мне нужно из объекта забрать определенный ключ, чтобы потом взять оттуда значение – jojoj Apr 15 '22 at 11:01
  • json.timezone - странно почему для response ты догадался как обратиться к полю, а для json - нет – Grundy Apr 15 '22 at 11:03
  • Хорошо, а как мне сделать из этого новую данную, чтобы в будущем я смог к ней обращаться в коде? – jojoj Apr 15 '22 at 11:06
  • Что ты имеешь ввиду? – Grundy Apr 15 '22 at 11:06
  • Ну вот смотри, исходя из json.timezone, я получил таймзону - London. Я хочу использовать эту таймзону дальше в коде, например, для часов (условно). Как мне это сделать? Как мне сделать так, чтобы дальше, по ходу кода, я мог спокойно обращаться к этой переменной и она мне показывала таймзону, исходя из моего fetch запроса. – jojoj Apr 15 '22 at 11:10
  • Мне нужно создать как-то переменную и туда поместить результат моего fetch запроса? Типо const fetch = "url"? – jojoj Apr 15 '22 at 11:10
  • Смотри в дубликате пример – Grundy Apr 15 '22 at 11:38
  • @Grundy а как я могу обратиться к определенному значению тут? (await data.json()); если пишу (await data.json.timezone) - определяет как undefined – jojoj Apr 15 '22 at 11:59
  • как и в любом другом объекте, ставишь точку и указываешь имя свойства. – Grundy Apr 15 '22 at 12:00
  • если пишу (await data.json.timezone) - что такое data? что такое json? и почему ты перед этим ставишь await? – Grundy Apr 15 '22 at 12:00
  • Всю необходимую информацию добавляй непосредственно в вопрос, иначе не видно что откуда у тебя берется. – Grundy Apr 15 '22 at 12:01
  • За основу я взял твой пример из дубликата,

    (async function() { var data = await fetch('https://jsonplaceholder.typicode.com/users'); console.log(await data.json()); })();

    Я правильно же понимаю, что дата, в твоем случае, - это переменная, которую потом мы определяем? Если не тот пример смотрю, исправь, пожалуйста.

    Мне нужно получить из fetch запроса переменную, чтобы потом вставить ее HTML div для работы со временем.

    – jojoj Apr 15 '22 at 12:03
  • Тот пример. await data.json() и возвращает объект, который ты можешь присвоить переменной и у которого взять нужное свойство. – Grundy Apr 15 '22 at 12:17

0 Answers0