用于创建动态内容的变量的值

时间:2012-07-07 12:23:00

标签: javascript jquery jquery-plugins

我不确定是否可能。但我正在寻找一个动态评估变量值的函数,并将其粘贴到变量本身。

情景:

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,

2 个答案:

答案 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“}]”