Javascript JSON在使用变量获取时给出未定义错误,但在使用硬编码索引时工作

Javascript JSON在使用变量获取时给出未定义错误,但在使用硬编码索引时工作,javascript,json,Javascript,Json,我试图从一个JSON文件中加载一些JSON数据,并为我试图构建的应用程序对其执行一些数据操作。然而,当循环遍历数据时,我得到一个未定义的错误,这使得当我使用循环变量访问对象时,JSON对象似乎缺少属性。但是,当我使用硬编码的数字对JSON数组进行索引时,该属性可以正常加载。我想知道是否有人能帮我解决这个问题。我在此附上了一个代码和JSON的示例 我尝试过对JSON进行字符串化并再次对其进行解析,尝试过使用方括号和句号访问JSON,结果都是一样的 访问代码: import ontology fro

我试图从一个JSON文件中加载一些JSON数据,并为我试图构建的应用程序对其执行一些数据操作。然而,当循环遍历数据时,我得到一个未定义的错误,这使得当我使用循环变量访问对象时,JSON对象似乎缺少属性。但是,当我使用硬编码的数字对JSON数组进行索引时,该属性可以正常加载。我想知道是否有人能帮我解决这个问题。我在此附上了一个代码和JSON的示例

我尝试过对JSON进行字符串化并再次对其进行解析,尝试过使用方括号和句号访问JSON,结果都是一样的

访问代码:

import ontology from '../../data/ontology.json'

const totalAnswerList = ontology.answers

for (var i = 0; i <= totalAnswerList.length; i++) {
            var wordID = totalAnswerList[i] // wordID.id returns undefined
            var wordID2 = totalAnswerList[0] // wordID2.id works
            alert(JSON.stringify(wordID) + JSON.stringify(wordID2) + '\nWord ID hardcoded: ' + wordID2.id)
}

您提供的代码按预期工作,但问题是由于for循环约束,最后一个元素
未定义。您可能想要
i
而不是

//ontology.json
{
    "answers": [
        {
            "id": "examination",
            "category_id": "examination",
            "synonyms": ["examination"]
        }, ...
    ], ...
}
import ontology from "./ontology.json";

const totalAnswerList = ontology.answers;

for (var i = 0; i < totalAnswerList.length; i++) {
  // ...
}