我想将我的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]];
答案 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);

FYI:最好更新服务器端代码以生成有效的JSON字符串(它易于在所有编程语言中实现,会有预定义的函数或库为此)。
答案 1 :(得分:-1)
如果AJAX响应是字符串,您可以使用JSON.parse(strSesponse)