【发布时间】:2014-03-09 18:47:55
【问题描述】:
我想看看在不使用 eval() 的情况下,我必须执行哪些选项来执行在 JSON 中查找值的字符串。
我的 JSON 如下所示:
var caso = {
"_id": "C1M3bqsB92i5SPDu",
"type": "bpm",
"bpm": {
"_data": {
"_id_bpm": "bpm_solicitud_viaticos"
},
"milestones": {
"solicitud": {
"toma_de_datos": {
"nombre": "RAUL MEDINA",
"clave": "123",
"departamento": "Finanzas",
"cantidad": "456"
}
}
}
}
}
现在,我有一个带有值的字符串:
var step = "caso.bpm.milestones.solicitud.toma_de_datos.nombre";
我通过这个 JSON 获得了我想要的值:
var thevalue = eval(step);
哪些是我的选项而不是 eval()?既高效又易于实施?
非常感谢您的帮助!
【问题讨论】:
-
你可以使用:new Function;
-
它只是一个点分隔的字符串吗?
-
@Brad 如果您发布一个解释差异的链接,您的评论实际上会很有帮助。据我们所知,OP 完全理解其中的区别,并且只是将 JSON 解析为他们正在使用的对象文字的示例。
-
@Ian 你是对的......这就是我添加评论的原因。要么 Laerion 会知道我在说什么并解释,要么会指出混乱的地方,所以我可以提供有针对性的解释。
标签: javascript json eval