Javascript 从URL获取本机JSON

Javascript 从URL获取本机JSON,javascript,json,react-native,fetch,Javascript,Json,React Native,Fetch,我希望我能在这个问题上找到一些帮助 我使用React Native并尝试从名为Feiertage API()的API获取一些数据,该API基本上返回(应该返回)德国的法定假日 尝试在react native中使用fetch,返回: Response { "_bodyBlob": Blob { "_data": Object { "blobId": "49C4AD4B-4648-44DB-AED7-7654EB78EF7A", "name": "api"

我希望我能在这个问题上找到一些帮助

我使用React Native并尝试从名为Feiertage API()的API获取一些数据,该API基本上返回(应该返回)德国的法定假日

尝试在react native中使用fetch,返回:

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));
获取的参数包括: -jahr=2019年(我认为这是显而易见的一年) -nur_land=hb(通过缩写形式指定状态)

可以通过添加get参数'callback=mycallbackname'来获取JSONP

如果尝试使用以下命令显示数据: log(response.json())

结果是:

 Promise {
      "_40": 0,
      "_55": null,
      "_65": 0,
      "_72": null,
   }
我希望看到的正是这里显示的数据->

想知道如何从响应{…}中提取数据。

您需要对该响应调用.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));

该死的。。。我在另一个帖子上看到过,但没有成功。现在复制并粘贴您的解决方案,一切正常。非常感谢您,将此标记为已接受的答案。需要注意的是,
response.json()
返回一个承诺,因此您必须等待它,或者将它包装在一个
中。然后()
,因此它是异步的,第二个是可接受的。然后,在第一个完成获取所有数据后调用命令?对吗?对。只有在任何承诺失败时才会调用.catch()。