Uncaught (in promise) SyntaxError: Unexpected token ' in fetch function

Uncaught (in promise) SyntaxError: Unexpected token ' in fetch function

我有几个 JSON 结构如下的文件(我们称之为 info.json):

{
  'data': {
    'title': 'Job',
    'company': 'Company',
    'past': [
      'fulltime': [
        'Former Company'
      ],
      'intern': [
        'Women & IT',
        'Priority 5'
      ]
    ],
    'hobbies': [
      'playing guitar',
      'singing karaoke',
      'playing Minecraft',
    ]
  }
}

在一个单独的 JavaScript 文件中,我有一个如下所示的函数:

function getJSONInfo() {
  fetch('info.json').then(function(response) {
    return response.json();
  }).then(function(j) {
    console.log(j);
  });
}

当我 运行 getJSONInfo():

Uncaught (in promise) SyntaxError: Unexpected token '

我错过了什么?我在任何地方都没有流浪者 ',所以我不确定出了什么问题。

您的属性需要用双引号引起来才能有效 json。

您可以使用 json 验证器,例如 http://jsonlint.com/ 来检查您的语法是否正确。

此外,正如 shayanypn 指出的那样,"past" 应该是一个对象,而不是数组。您试图将 "past" 定义为对象文字,但使用方括号表示数组。

你完全无效

1- 你应该使用双引号

2- 对象属性语法错误

"past": [
    "fulltime": [
        "Former Company"
    ],
    "intern": [
        "Women & IT",
        "Priority 5"
    ]
],

该睡觉了

"past": {
    "fulltime": [
        "Former Company"
    ],
    "intern": [
        "Women & IT",
        "Priority 5"
    ]
},

你的有效json是

{
    "data": {
        "title": "Job",
        "company": "Company",
        "past": {
            "fulltime": [
                "Former Company"
            ],
            "intern": [
                "Women & IT",
                "Priority 5"
            ]
        },
        "hobbies": [
            "playing guitar",
            "singing karaoke",
            "playing Minecraft"
        ]
    }
}