无法定义JSON数组

时间:2018-07-06 12:56:27

标签: arrays json typescript

我正在尝试将数据从JSON文件获取到有角度的应用程序中,问题是我将使用此文件作为本地数据库,并且它将包含多个数组,因此我必须命名该数组,但是当我尝试时将其定义为vs会指出错误。

这是数组

var historybooks = [
{
    "name" : "book1",
    "id" : "his-1",
    "author" : "omar",
    "discription" : "lorem ipsum dolor ....",
    "image" : "./assets/books-images/book1.png"
}
]

vs错误“预期的JSON对象,数组或文字。”

我也尝试用let代替var并得到相同的错误。

5 个答案:

答案 0 :(得分:1)

如果文件是 JS 文件,请使用以下代码:-

export var historybooks = [
{
    "name" : "book1",
    "id" : "his-1",
    "author" : "omar",
    "discription" : "lorem ipsum dolor ....",
    "image" : "./assets/books-images/book1.png"
}
]

如果要将文件命名为 .json ,请使用以下代码:-

[
{
    "name" : "book1",
    "id" : "his-1",
    "author" : "omar",
    "discription" : "lorem ipsum dolor ....",
    "image" : "./assets/books-images/book1.png"
}
]

您可以发出Ajax请求以获取.json文件。

答案 1 :(得分:1)

实际上,您不能编写声明,在JSON文件中,您只能将JSON对象或数组直接写在该文件上。

这就是为什么出现错误的原因:

  

“期望JSON对象,数组或文字。”

由于您要在JSON文件中编写JavaScript代码,因此请删除声明部分:

[
{
    "name" : "book1",
    "id" : "his-1",
    "author" : "omar",
    "discription" : "lorem ipsum dolor ....",
    "image" : "./assets/books-images/book1.png"
}
]

答案 2 :(得分:0)

此后的代码可能被解释为数组的索引或类似内容
尝试在数组后添加分号:

var historybooks = [
  {
      "name" : "book1",
      "id" : "his-1",
      "author" : "omar",
      "discription" : "lorem ipsum dolor ....",
      "image" : "./assets/books-images/book1.png"
  }
]; // <= here

答案 3 :(得分:0)

只需删除json中的decalartion部分,这样做就可以了。

   [
    {
    "Neymary": "pleaseStopDiving"
    }
   ]

答案 4 :(得分:0)

您无法在JSON中声明变量。请删除声明。

如果要声明更多数组,可以在同一文件中执行此操作:

{
"array1":[{"key":"value","key":"value"}],
"array2":[{"key":"value","key":"value"}]
}