Json响应数组javascript

时间:2017-09-26 08:45:15

标签: javascript arrays json ajax

我想将我的ajax json响应转换为javascript数组。我不知道我能做到这一点。我试过分裂,但这不是我想要的。请帮忙!

我的AJAX Json响应(这是一个字符串):

Array[Date:"[['2016-09-09',162], ['2016-12-04',145], ['2017-01-11',130]]"]

在推出阵列之后我的愿望结果:

var array = [['2016-09-09',162], ['2016-12-04',145], ['2017-01-11',130]];

2 个答案:

答案 0 :(得分:1)

使用正则表达式从字符串中提取数据。



var str = `Array[Date:"[['2016-09-09',162], ['2016-12-04',145], ['2017-01-11',130]]"]`;

// regex for your string pattern
var re = /\[\s?'(\d{4}-\d{1,2}-\d{1,2})'\s?,\s?(\d+)\s?\]/g;
// array for result
var res = [],
  // variable for caching match
  m;

// iterate over the matches
while (m = re.exec(str)) {
  //push values into array
  res.push([m[1], +m[2]]); // use + prefix to convert into number
}

console.log(res);




Regex explanation here

FYI:最好更新服务器端代码以生成有效的JSON字符串(它易于在所有编程语言中实现,会有预定义的函数或库为此)。

答案 1 :(得分:-1)

如果AJAX响应是字符串,您可以使用JSON.parse(strSesponse)

进行转换