Javascript获取未读取JSON文件

Javascript获取未读取JSON文件,javascript,ecmascript-6,fetch,Javascript,Ecmascript 6,Fetch,我正在使用ES6和Fetch 这给了我一个错误: Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0 下面是list.json中的数据: [ { "id": 1, "name": "name1" }, { "id": 2, "name": "name2" } ] 为什么会出现此错误以及如何修复此错误?这不是有效的JSON文件。有效的JSON

我正在使用ES6和Fetch

这给了我一个错误:

Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
下面是list.json中的数据:

[
  {
    "id": 1,
    "name": "name1"
  },
  {
    "id": 2,
    "name": "name2"
  }
]

为什么会出现此错误以及如何修复此错误?

这不是有效的JSON文件。有效的JSON如下所示

{
  "data":[
    {
      "id": 1,
      "name": "name1"
    },
    {
      "id": 2,
      "name": "name2"
    }
  ]
}

您没有发送一个被.JSON方法正确理解的JSON,您应该按照上面提到的方式进行转换,一切都应该很好

正确的JSON:

{ "products" : [
  { "Name": "Cheese", "Price" : 2.50, "Location": "Refrigerated foods"},
  { "Name": "Crisps", "Price" : 3, "Location": "the Snack isle"},
  { "Name": "Pizza", "Price" : 4, "Location": "Refrigerated foods"},
  { "Name": "Chocolate", "Price" : 1.50, "Location": "the Snack isle"},
  { "Name": "Self-raising flour", "Price" : 1.50, "Location": "Home baking"},
  { "Name": "Ground almonds", "Price" : 3, "Location": "Home baking"}
]}

响应不是JSON,而是html。可能是一条错误消息。看看控制台,我猜服务器正在以HTML页面的形式返回一个错误。你能检查一下你得到的答复吗?(例如Chrome开发工具中的Networking选项卡)fetch似乎获得了一个HTML文件,您是否有404 HTML文件或类似的文件?当I console.log(响应)时;它说TYPE:is basict不是有效的JSON。JSON应该总是以大括号开头。
{ "products" : [
  { "Name": "Cheese", "Price" : 2.50, "Location": "Refrigerated foods"},
  { "Name": "Crisps", "Price" : 3, "Location": "the Snack isle"},
  { "Name": "Pizza", "Price" : 4, "Location": "Refrigerated foods"},
  { "Name": "Chocolate", "Price" : 1.50, "Location": "the Snack isle"},
  { "Name": "Self-raising flour", "Price" : 1.50, "Location": "Home baking"},
  { "Name": "Ground almonds", "Price" : 3, "Location": "Home baking"}
]}