JavaScript-导入包含对象数组的JSON时出错
我正在尝试导入包含一系列博客文章的JSON文件。成功导入JSON文件中包含的所有数据,但对象数组(边)除外 此代码是使用JestJS创建的单元测试的一部分,用于使用Gatsby构建站点 当我尝试访问edges数组时,我得到“TypeError:无法读取未定义的属性‘edges’” JS代码:JavaScript-导入包含对象数组的JSON时出错,javascript,arrays,json,jestjs,gatsby,Javascript,Arrays,Json,Jestjs,Gatsby,我正在尝试导入包含一系列博客文章的JSON文件。成功导入JSON文件中包含的所有数据,但对象数组(边)除外 此代码是使用JestJS创建的单元测试的一部分,用于使用Gatsby构建站点 当我尝试访问edges数组时,我得到“TypeError:无法读取未定义的属性‘edges’” JS代码: import data from "./__mocks__/blog.json"; console.log(data); data.allMarkdownRemark.edges.forEach((pos
import data from "./__mocks__/blog.json";
console.log(data);
data.allMarkdownRemark.edges.forEach((post) => {
console.log(post);
})
Console.log(数据):
我的JSON文件格式为JSON对象,因此不需要使用JSON.parse()
JSON文件:
{
"data": {
"allMarkdownRemark": {
"edges": [
{
"node": {
"id": "c60d0972-1f4a-55ae-b762-c24795fae501",
"fields": {
"slug": "/a-tu-cerebro-no-le-gusta-la-innovacion/"
},
"frontmatter": {
"title": "A tu cerebro no le gusta la Innovación",
"templateKey": "blog-post",
"date": "September 16, 2017"
}
}
},
{
"node": {
"id": "1624f260-4c77-55d3-8297-4f0ad688f878",
"fields": {
"slug": "/la-mente-es-para-tener-ideas-no-para-almacenarlas/"
},
"frontmatter": {
"title": "La mente es para tener Ideas™, no para almacenarlas",
"templateKey": "blog-post",
"date": "August 26, 2017"
}
}
}
]
}
}
}
您知道如何从JSON文件正确导入对象的“边”数组吗?问题在于您的变量称为数据,并且在JSON文件中还将数据定义为键。因此,必须使用数据一次作为变量,第二次作为JSON文件的键 您必须这样访问它:
data.data.allMarkdownRemark.edges.forEach((post) => {
console.log(post);
})
另一个解决方案是更改JSON文件的结构 问题在于变量名为data,在json文件中还将数据定义为键。因此,必须使用数据一次作为变量,第二次作为JSON文件的键 您必须这样访问它:
data.data.allMarkdownRemark.edges.forEach((post) => {
console.log(post);
})
另一个解决方案是更改JSON文件的结构 您可以:
import{data}来自“/\uuuuumocks\uuuuuu/blog.json”;
您可以:
import{data}来自“/\uuuuumocks\uuuuuu/blog.json”;