JavaScript-导入包含对象数组的JSON时出错

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

我正在尝试导入包含一系列博客文章的JSON文件。成功导入JSON文件中包含的所有数据,但对象数组(边)除外

此代码是使用JestJS创建的单元测试的一部分,用于使用Gatsby构建站点

当我尝试访问edges数组时,我得到“TypeError:无法读取未定义的属性‘edges’”

JS代码:

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”;