我不确定是否可能。但我正在寻找一个动态评估变量值的函数,并将其粘贴到变量本身。
情景:
resources: resourcesSource,
我在我的一个插件声明中有上面这一行。变量 resourcesSource 包含所需的jSon字符串。现在我想要的是这样的:
resources: evaluate(resourcesSource),
在此之后,javascript应该将其视为:
resources: [{'name': 'Adil Malik','id': '217_resid'},{'name': 'Adam Jones','id': '433_resid'},{'name': 'help team','id': '2056_resid'},]
而不是像这样把变量放在那里:
resources: resourcesSource,
答案 0 :(得分:0)
您可以使用内置的jQuery $.parseJSON()
函数来执行此操作。虽然resourcesSource
已经是JSON对象,但没有必要,因为它可以通过resources
访问。
resources: $.parseJSON(resourcesSource),
...
参考 - http://api.jquery.com/jQuery.parseJSON/
说明强>
采用格式良好的JSON字符串并返回生成的JavaScript对象。
答案 1 :(得分:0)
如果要将JSON对象转换回字符串变量,则必须使用外部插件/函数为您执行此操作。
您可以查看此版本 - jQuery.stringify() utility
使用它可以轻松地将JSON对象恢复为其字符串表示形式。
还有一点需要注意的是,在对象中的最后一个元素后面有一个尾随逗号。
[
{'name': 'Adil Malik','id': '217_resid'},
{'name': 'Adam Jones','id': '433_resid'},
{'name': 'help team','id': '2056_resid'}
]
请注意删除第3个元素后面的尾随逗号。
运行jQuery.stringify(a);
函数将返回该对象的字符串表示形式 -
“[{”name“:”Adil Malik“,”id“:”217_resid“},{”name“:”Adam Jones“,”id“:”433_resid“},{”name“:”help team“,”id“:”2056_resid“}]”