Реактивная выборка JSON из URL

1

Надеюсь, я смогу найти помощь в этом вопросе.

Я использую React Native и пытаюсь получить некоторые данные из API под названием Feiertage-API (https://feiertage-api.de/), который в основном возвращает (должен возвращать) официальные праздники в Германии.

Пытаясь использовать fetch в реакции native, дает мне ответ вроде этого:

Response {
   "_bodyBlob": Blob {
     "_data": Object {
       "blobId": "49C4AD4B-4648-44DB-AED7-7654EB78EF7A",
       "name": "api",
       "offset": 0,
       "size": 487,
       "type": "application/json",
     },
   },
   "_bodyInit": Blob {
     "_data": Object {
       "blobId": "49C4AD4B-4648-44DB-AED7-7654EB78EF7A",
       "name": "api",
       "offset": 0,
       "size": 487,
       "type": "application/json",
     },
   },
   "headers": Headers {
     "map": Object {
       "access-control-allow-origin": Array [
         "*",
       ],
       "content-type": Array [
         "application/json",
       ],
       "date": Array [
         "Tue, 31 Jul 2018 07:17:51 GMT",
       ],
       "server": Array [
         "nginx",
       ],
       "x-powered-by": Array [
         "PHP/7.0.31, PleskLin, PleskLin",
       ],
     },
   },
   "ok": true,
   "status": 200,
   "statusText": undefined,
   "type": "default",
   "url": "https://feiertage-api.de/api/?jahr=2019&nur_land=hb",
}

Мой запрос на выбор выглядит следующим образом:

fetch('https://feiertage-api.de/api/?jahr=2019&nur_land=hb')
                .then(response => console.log(response) )
                .catch(error => console.log(error));

GET-Параметры: - jahr = 2019 (за год, я думаю, это очевидно) - nur_land = hb (это возвращает мне только данные состояния, однажды давая обрезание в качестве параметра)

Существует также возможность получить JSONP, добавив параметр get-parameter 'callback = mycallbackname'

Если вы попытаетесь показать такие данные, как: console.log(response.json())

Я получаю:

 Promise {
      "_40": 0,
      "_55": null,
      "_65": 0,
      "_72": null,
   }

То, что я ожидаю увидеть, - это именно те данные, которые показаны здесь → https://feiertage-api.de/api/?jahr=2019&nur_land=hb

Итак, как я могу извлечь данные из ответа {....}?

Теги:
react-native
fetch

1 ответ

2
Лучший ответ

Вы должны вызвать метод.json() для этого ответа.

fetch('https://feiertage-api.de/api/?jahr=2019&nur_land=hb')
            .then(response => response.json() )
            .then(data => console.log(data) )
            .catch(error => console.log(error));
  • 0
    Какого черта ... Я видел это в другой ветке, но здесь не было успеха. Теперь скопируйте и вставьте свое решение, и все работает. Большое вам спасибо, отметили это как принятый ответ.
  • 1
    Важно отметить, что response.json() возвращает обещание, поэтому вы должны либо дождаться его, либо заключить его в .then()
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню