我有一个 JSON 字符串,其中包含我需要调用的函数。
我的 JSON 看起来像这样:
{
"type":"listview",
// the function I would like to call
"content":"dynoData.getRetailers()",
"custom_classes":["","nMT pickList","",""],
"lib":"static_listview.html",
"tmp":"tmp_listview_inset",
"lang":"locale_search",
...
我正在使用它在客户端上组装一个 jQuery Mobile 列表视图。要获取动态数据,我需要调用dynoData.getRetailers()
.
但是我正在努力打电话:-)
这就是我正在尝试的:
var dyn = $.parseJSON( passed_JSON_string ),
content = dyn.content;
我曾希望调用它会触发该函数,但它只是将函数名称作为字符串返回。
问题:
如何才能触发实际功能?
谢谢!
编辑:
我将 JSON 字符串放在实际页面上的 HTML 元素上,我将用我正在构建的元素替换它。这是HTML:
<ul data-template="true" data-config='{
"type":"listview",
"content":"dynoData.getRetailers()",
"custom_classes":["","nMT pickList","",""],
"lib":"static_listview.html",
"tmp":"tmp_listview_inset",
"lang":"locale_search",
"theme":"c",
"filter":"true"
}'></ul>
我可以将所有这些都放入data-
属性中,但这会很混乱......
解决方案:这有效:
1) 将 JSON 更改为:
..."method":"getRetailers", ...
2)从Javascript调用:
content = dynoData[ dyn.method ]();
感谢大家!