Javascript 通过Jquery输出JSON编码的数组

Javascript 通过Jquery输出JSON编码的数组,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我在ajax调用中设置了一个json编码的数组: $var = json_encode($_SESSION['pictures']); 我将这个json编码的数组放在一个名为“array”的变量中 当我向var数组发出警报时,我收到以下回调: ["http://linktoimage1", "http://linktoimage2"] 现在我想通过jquery调用输出第一个值: $('#imgswap').attr('src', array[0]); 当我进行这个jquery调用时

我在ajax调用中设置了一个json编码的数组:

 $var = json_encode($_SESSION['pictures']);
我将这个json编码的数组放在一个名为“array”的变量中 当我向var数组发出警报时,我收到以下回调:

  ["http://linktoimage1", "http://linktoimage2"]
现在我想通过jquery调用输出第一个值:

 $('#imgswap').attr('src', array[0]);
当我进行这个jquery调用时,我收到值“[”。如果我将其更改为数组[2],我会收到“h”。因此,他会返回字符,而不是数组的完整值


我做错了什么?

您将数据作为字符串而不是实际的JSON接收。您是否在AJAX调用中使用了
数据类型:text
?如果是,请忽略该行或将其替换为
数据类型:JSON

您将数据作为字符串而不是实际的JSON接收。您是否使用
数据类型:text
在AJAX调用中?如果是这样,请省略该行或将其替换为
数据类型:json

将最后一行更改为:

$('#imgswap').attr('src', JSON.parse(array[0]));

您需要解析JSON。如果不解析JSON,则是字符串,而不是数组。

将最后一行更改为:

$('#imgswap').attr('src', JSON.parse(array[0]));

你需要解析你的JSON。如果你不这样做,你有一个字符串,而不是一个数组。

你需要解析JSON以使它成为一个数组,否则它只是一个字符串

array = $.parseJSON(array);
$('#imgswap').attr('src', array[0]);

另外,如果您将
数据类型设置为
json

,您还可以让jQuery.ajax为您解析它。您需要解析json才能使其成为一个数组,否则它只是一个字符串

array = $.parseJSON(array);
$('#imgswap').attr('src', array[0]);

另外,如果您将
数据类型设置为
json

,也可以让jQuery.ajax为您解析它,例如var-array=json.parse($var);,这样我就只能使用$('#imgswap').attr('src',array[0])?@Stefan:是的。你绝对可以这样做。@Stefan:当然。很高兴我能帮上忙。是否也可以完全解析数组,例如var array=JSON.parse($var);,这样我就只能使用$('#imgswap').attr('src',array[0])?@Stefan:是的。你绝对可以这样做。@Stefan:当然。很高兴我能帮上忙。是否也可以完全解析数组,例如var array=JSON.parse($var);,这样我就只能使用$('#imgswap').attr('src',array[0])?@Musa:不知道JQ有一个JSON方法。我想jQuery真的做了一切…是否也可以完全解析数组,例如var array=JSON.parse($var);,这样我就只能使用$('#imgswap').attr('src',array[0])?@Musa:不知道JQ有一个JSON方法。我想jQuery真的做了一切。。。