使用 javascript 解析 API 响应

Parse API responce with javascript

我收到了 JSON API 的回复,但我不知道如何解析它,它只是返回一个错误,我对此了解不够弄清楚,它 returns:

(node:36308) UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token o in JSON at position 1
var fetch = require('node-fetch');
fetch('https://sv443.net/jokeapi/v2/joke/Any', function(res){
    if (res.ok) {
        return res;
        } else {
        console.log(res.statusText);
    }
})
.then(res => res.json())
.then((json) => {
    var parsedData = JSON.parse(json)
    console.log(parsedData.joke);
});

您只需执行以下操作即可访问 delivery

fetch("https://sv443.net/jokeapi/v2/joke/Any?type=single")
  .then(response => {
    return response.json();
  })
  .then(json => {
    // likely to be json.delivery but cannot 
    // confirm until rate limits have been lifted
    console.log(JSON.stringify(json));
  })
  .catch(err => {
    console.log(err);
  });

试试这个:

fetch('https://sv443.net/jokeapi/v2/joke/Any', function(res){
    if (res.ok) {
        return res;
        } else {
        console.log(res.statusText);
    }
})
.then(response => response.json())
  .then(data => console.log(data));

您已经在使用 res.json() 解析它。它 returns 一个可以直接访问的对象(在承诺中)。根据类型道具,您可能需要检查不同的道具。例如,两部分的笑话将有设置:问题和交付:答案