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