获取js对象键的值
Getting the value of a js object key
我需要能够获得对象键的值。当我console.log(event);
一个返回的对象时,我得到:
MessageEvent {
ports: Array[0],
data: "{
"event":"playProgress",
"data":{
"seconds":0.419,
"percent":0.002,
"duration":177.813
}
}"
}
我似乎无法得到数据的价值。用console.log(event.data.percent)
百分比。我做错了什么?
看起来event.data
实际上是一个字符串,而不是嵌套对象。使用"相当现代化"的浏览器,您可以:
var data = JSON.parse(event.data);
console.log(data.percent);
关于JSON.parse
的更多讨论可以在之前的stackerflow回答中看到。
删除第一个数据对象周围的引号
MessageEvent {
ports: Array[0],
data: {
"event":"playProgress",
"data":{
"seconds":0.419,
"percent":0.002,
"duration":177.813
}
}
}
通过将它们留在创建字符串而不是obj 中
您需要在MessageEvent对象中下一级访问第一个数据对象的子对象数据。为了console.log,您甚至不需要字符串化然后解析对象,就像本例中一样。
试试下面的:
var MessageEvent = {
ports: Array[0],
data: {
"event":"playProgress",
"data":{
"seconds":0.419,
"percent":2.002,
"duration":177.813
}
}
};
console.log(MessageEvent.data.data.perment);
JSFiddle:http://jsfiddle.net/a_incarnati/em3afkov/
相关文章:
- 使用JS将数组转换为json对象
- 查看JS对象的所有键,甚至是getter定义的键
- 在URL中传递JS对象
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- Node.js中的JavaScript原型对象效率
- 如何使用自定义功能覆盖时间轴对象.js时间轴对象的_repaintMinorText
- 如何在第三轴上旋转 3D 对象.js
- 三个中是否有容器类型对象.js来转换一组子对象
- 从 JSON 对象 - JS 周围删除双引号
- 删除对象JS中的节点
- 在对象数组中搜索非空对象JS
- 按未定义的值从数组中选择对象?JS
- 递归循环,直到我们'重新处理对象[JS]
- 向窗口对象-js添加新属性时得到通知
- 如何包含对象/关联数组到对象(js)
- 加载依赖于页面的面向对象JS属性的最好方法是什么?
- 合并新的数组对象到现有的对象js
- 获取带有下划线的数组中的对象.js
- 在带有下划线的嵌套集合中查找对象.js