【发布时间】:2017-02-05 20:05:22
【问题描述】:
我有一个JSON 对象,格式类似于{"Foo": ["B","A","R"]}
我正在尝试像这样访问数组的值:
var json = '{"Foo": ["B","A","R"]}';
expression = JSON.Parse(json, function(key, value){
if(key == "Foo"){
console.log(value.length); // logs "3"
console.log(value[1]); // logs "undefined"
}
});
如果我询问值的长度,它会返回数组的正确长度,但如果我询问值,它会返回 undefined,我不太清楚为什么。JSON 中还有其他值我可以正常访问,但它们不是数组。任何见解将不胜感激。谢谢!
【问题讨论】:
-
这是您的实际代码吗?
value!==Valid -
JSON 结构存在问题 var json = '{"Foo": ["B","A","R"]}';双引号和单引号冲突
-
这不是我的实际代码,实际代码适用于其余 JSON 值,但不适用于数组。
-
var json = '{"Foo": ["B","A","R"]}'; console.log(JSON.parse(json).Foo); -
您的目标仅仅是访问数组中的值,还是出于某些特定原因使用
JSON.parse的第二个可选“reviver”参数,例如想要过滤或转换对象在解析的时候?
标签: javascript arrays json node.js