2016-03-09 36 views
2

我有一个ajax函数,它返回一个如下所示的字符串:"[{property1: value1}, {property1: value1}]"。我需要这是一个数组。我怎样才能将它从一个字符串更改为一个数组?
我知道我可以将一个脚本标签附加到我的头上,但是我怀疑这样做会是好的做法还是最有效的方法。
任何帮助表示赞赏。将字符串转换为数组(不是你怎么看)

+1

什么是回报,为什么?你可以返回JSON吗? – elclanrs

+4

也许它已经是JSON了,你正在对它进行过多的处理。尝试'JSON.parse(响应)' – elclanrs

+0

在PHP中,我查询数据库。我将结果格式化为我需要的数组。 JSON会是什么样子? –

回答

5

您可以使用JSON.parse方法。这会将您的字符串转换为有效的JS对象。

JSON.parse('[{"property1": "value1"}, {"property1": "value1"}]'); 

也做使用JSON.stringify方法,将一个对象转换为它的反向的字符串表示。

确保您的JSON输出遵循JSON标准。 例如,所有的键和字符串值都必须加双引号。

0

尝试这种方式,它不是最好的,但...

var str = "[{property1: 'value1'} , {property1: 'value2'}]"; 
var array = str.replace("[","").replace("]","").split(","); 

拆分将创建一个数组,您可以通过索引访问的项目。例如数组[0] =“{property1:'value1'}”

这有帮助吗?

+0

谢谢,但我正在寻找将个别元素转换为对象。 JSON.parse效果更好。 –