繁体   English   中英

未捕获(在promise中)SyntaxError:获取函数中的意外标记'

[英]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指出的那样,“过去”应该是一个对象,而不是一个数组。 您试图将“过去”定义为对象文字,但使用方括号表示数组。

你根本没用

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"
        ]
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM