从展平的JSON中读取值

时间:2016-10-20 12:04:25

标签: javascript json

我创建了一个扁平Json对象的数组(名为boxesList),其中每个对象都是这样的:

Object{
   iips:"ALP872"
   box.number:142
   box.color:"blue"
   box.size:11
}

当我尝试在我的应用程序中提取存储在这些对象中的数据时:

for(let boxElement of boxesList){
    console.log(boxElement.iips);
    console.log(boxElement.box.number);
}

我没有获得iips值的问题,但我确实得到'未捕获的TypeError:在尝试获取box.number时无法读取未定义的属性'数'。有谁知道如何实现这一目标?

3 个答案:

答案 0 :(得分:3)

您的属性键是box.number

boxElement.box.number调用number属性

中的box属性

var boxesList = [{
   "iips":"ALP872",
   "box.number":142,
   "box.color":"blue",
   "box.size":11
}]

for(let boxElement of boxesList){
    console.log(boxElement.iips);
    console.log(boxElement["box.number"]);
}

答案 1 :(得分:0)

在这种情况下,您必须使用boxElement['box.number']语法。

boxElement在box.number之类的字符串上建立索引,而不是在两层上。

答案 2 :(得分:0)

你不能拥有一个带有点的对象属性名称。如果'框'可以实现您在上面要做的事情。是主要对象的属性,其中包含数字',' color'和'尺寸'是它的财产。

这样的事情:

var mainObj = {
   iips:"ALP872",
   box: {
       number:142,
       color:"blue",
       size:11
   }
}