在Javascript中解析数组字符串到数组对象

本文关键字:数组 字符串 对象 Javascript | 更新日期: 2023-09-27 17:54:53

我有一个页面方法,它使用jQuery.ajax();返回整数列表。

$.ajax({
    type: "POST",
    url: url,
    success: function (response) {
        console.log(typeof (response.d));
        console.log(response.d);
    }
});

这是控制台的结果

string
[1767,3071,2744,1256,657,3374,3318,2518,3910,4107,2579,2997,1182,1260,32,3185,873,1374,35,858,3126,1911,3887,3053,298,3150,4222,2692,1397,707,3958,947,1315,4379,2265,2845,3123,3857,1140,1608,2317,2512,3280,1842,1930,4334,878,1366,522,1231]

我想避免修剪方括号并使用分割来填充数组。

我想要的是能够运行

$.each(response.d, function() {
    console.log(this); // print each number in the array
});

但是在我的例子中,它打印每个字符,而不是每个数字。

这是page方法如果有人好奇

Random rnd = new Random();
List<int> numbers = new List<int>();
for(int i=0; i<50; i++) {
    numbers.Add(rnd.Next(1000));
}

JavaScriptSerializer js = new JavaScriptSerializer();
return js.Serialize(numbers);

在Javascript中解析数组字符串到数组对象

你应该将javascript数组反序列化成一个实际的javascript对象。

var responseArray = JSON.parse( result.d )
//responseObject is now a literal javascript array, so you can iterate over it as you would any other array
下面是JSON.parse
的实现
    为什么不直接从服务器返回一个JSON对象呢?
  • 设置内容类型为application/json。
  • 使用jQuery Ajax调用设置dataType为json。

jQuery将为您解析所有内容。你所需要做的就是数据。

我想如果你设置dataType:json,它会将响应解析为json。