如何从javascript中的“数组字符串”中获取键值

时间:2016-09-06 18:33:19

标签: javascript php laravel

我在Laravel控制器中有一个数组,如:

$succeeded[] = array('name' => $name,
                    'file' => $file
                        );
...
return $succeeded;

我使用ajax调用来获取$succeeded,并且我将在js函数中有一个返回字符串组成:

"[{"name":"sor.jpg","file":"399393.jpg"}]"

我的问题是如何从上面的字符串中获取“name”和“file”值?

注意:我没有在控制器中使用任何JSON对象,只返回了数组。但是我想知道使用JSON对象是有利的。

1 个答案:

答案 0 :(得分:0)

首先需要使用本机JSON.parse将响应文本解析为JSON数组,然后可以使用点表示法从解析数组中的对象中提取值。

var respText = "[{\"name\":\"sor.jpg\",\"file\":\"399393.jpg\"}]";
var arr = JSON.parse(respText)[0];  // Careful - this will throw on invalid JSON
var name = arr.name;  // "sor.jpg"
var file = arr.file;  // "399393.jpg"