我正在尝试从JSON文件中读取字符串数组,并且似乎能够加载JSON数组,但实际上无法访问其中的数据。我的JSON文件如下:
{
"insults": [" string 1", " string 2", " string 3" ]
}
试图读取main.js文件中的数组的javascript如下:
var insults = require("./insults.json");
console.log(insults);
console.log(insults[0]);
控制台为第一个日志返回JSON数组,但是当我尝试调用数组中的特定位置时返回undefined。是否有一些我想从数组中读取的函数,或者我缺少介于两者之间的某些步骤?
答案 0 :(得分:2)
尝试如下:“ insults.insults ”
var insults = {
"insults": [" string 1", " string 2", " string 3"]
};
console.log(insults.insults);
答案 1 :(得分:1)
侮辱是作为对象读入的。
{
insults: [ ' string 1', ' string 2', ' string 3' ]
}
您需要将其引用为insults.insults[0]
或将其导入为var insults = require("./insults.json").insults;
另一个选择是将JSON保存为数组:
// insults.json
[
"string 1",
"string 2",
"string 3"
]
答案 2 :(得分:0)
在解析JSON /对象时,您总是可以利用typeof和instanceof的优势, 以确保您所引用的内容准确无误。就您而言,不要以错误的方式解释第一个console.log,您可以像这样进行测试:
var insults = require("./insults.json");
console.log(insults instanceof Array); // false
console.log(typeof insults[0]); // undefined
// and then to double check:
console.log(insults.insults instanceof Array); // true
console.log(typeof insults.insults[0]); // string