如果获取JSON对象的值如果其名称包含点?
问题描述:
我有一个非常简单的JSON阵列(请注重“points.bean.pointsBase”对象):如果获取JSON对象的值如果其名称包含点?
var mydata =
{"list":
[
{"points.bean.pointsBase":
[
{"time": 2000, "caption":"caption text", duration: 5000},
{"time": 6000, "caption":"caption text", duration: 3000}
]
}
]
};
// Usually we make smth like this to get the value:
var smth = mydata.list[0].points.bean.pointsBase[0].time;
alert(smth); // should display 2000
但不幸的是,它什么都不显示。
当我将“points.bean.pointsBase”更改为不带点的名称 - 一切正常!
但是,我不能将这个名称更改为没有点的任何其他名称,但我需要获得一个值?!
有什么选择可以得到它吗?
答
你想要的是:
var smth = mydata.list[0]["points.bean.pointsBase"][0].time;
在JavaScript中,您可以访问使用的任何领域。运算符,您可以使用[]与字段名称的字符串版本进行访问。
答
尝试["points.bean.pointsBase"]
答
以JavaScript
,对象属性可以与被访问。运算符或使用[]的关联数组索引。即。 object.property
相当于object["property"]
这应该做的伎俩
var smth = mydata.list[0]["points.bean.pointsBase"][0].time;
方式来拨号了。如何引用实际的方法,而不是只是粘贴到常用库的链接? – benmar 2017-09-11 15:30:59
@benmar他做了,_.get是方法 – 2017-10-20 10:19:51