SyntaxError:位置0的JSON中的意外令牌B-JSON Rest API

时间:2019-02-23 12:51:52

标签: json reactjs

我正在使用JSON rest API,无法获取fetch(),现在已全部修复。

2 个答案:

答案 0 :(得分:0)

您的代码中存在一些问题:您应始终返回诺言,应将标头属性名称加引号,并且React setState是异步方法。

请尝试如下更新它,以查看其是否有效,如果可以,我将对其详细内容进行编辑。

getShifts = (sessionId) => {
    return fetch("http://localhost:3000/shifts", {
        method: "GET",
        headers: {
            "Accept": "application/json",
            "Content-Type": "application/json",
            "Authorization": sessionId
        }
    });
};

fetchData = (sessionId) => {
    let promise3 = this.getShifts(this.state.sessionId)
        .then(response => response.json())
        .then(json => this.setState({shifts: json}, this.forceUpdate));
};

答案 1 :(得分:0)

您的JSON实际上是无效的。所有键都必须是字符串文字,因此正确的JSON如下所示:

[
  {
    "id": 1,
    "userId": 1,
    "start": "2018-01-01 10:15",
    "finish": "2018-01-01 12:20",
    "breakLength": 30
  },
  {
    "id": 2,
    "userId": 1,
    "start": "2018-01-02 10:15",
    "finish": "2018-01-02 18:20",
    "breakLength": 45
  }
]