将JSON转换为JavaScript数组
我从服务器获得响应:将JSON转换为JavaScript数组,javascript,json,Javascript,Json,我从服务器获得响应: {'data':['29/10/2009','13/04/2009','19/10/2009','07/04/2009','20/05/2009','27/02/2010', '20/04/2009','16/06/2009','15/12/2009','22/06/2009','21/09/2009','28/07/2009', '19/01/2009','14/05/2010','30/03/2009','06/04/2009','21/01/2010','10/03/
{'data':['29/10/2009','13/04/2009','19/10/2009','07/04/2009','20/05/2009','27/02/2010',
'20/04/2009','16/06/2009','15/12/2009','22/06/2009','21/09/2009','28/07/2009',
'19/01/2009','14/05/2010','30/03/2009','06/04/2009','21/01/2010','10/03/2009',
'17/09/2009','09/04/2009','27/10/2009'.....]}
我想获取此日期数组并将其放入JS数组:
success: function(response){
intObj = response.responseText;
for(var i in intObj) {
console.log(i);
if(intObj.hasOwnProperty(i) /*&& !isNaN(+i)*/) {
dateArray[+i] = intObj[i];
}
}
}
但在我的数组中获得结果:
["\r", "\n", "\r", "\n", "\r", "\n", "\r", "\n", "\r", "\n", "\r", "\n", "\r", "\n",
"\r", "\n", "\r", "\n", "\r", "\n", "{", "'", "d", "a", "t", "a", "'", ":", "[", "'",
"2", "9", "/", "1", "0", "/", "2", "0", "0", "9", "'", ",", "'", "1", "3", "/", "0",
"4", "/", "2", "0", "0", "9", "'", ",", "'", "1", "9", "/", "1", "0", "/", "2", "0",
"0", "9", "'", ",", "'", "0", "7", "/", "0", "4", "/", "2", "0", "0", "9"...]
如何仅将日期放入数组?像这样
'29/10/2009'、'13/04/2009'、'19/10/2009'、'07/04/2009']
您需要将字符串解析为JSON:
var result = JSON.parse(response.responseText);
然后可以直接获取阵列:
var array = result.data;
你必须使用。我认为您需要使用responseText
属性,该属性以字符串形式返回响应
var jsonObject = JSON.parse(response.responseText);
var dataArray = jsonObject.data;
您必须解析结果
var arrayOfDates = JSON.parse(response.responseText).data;
响应是一个对象
响应是一个字符串
将其转换为对象:
var response = JSON.parse(response);
尝试使用
var intObj = eval("(" + response + ");");
for (var i in intObj.data) {
console.log(i);
if(intObj.hasOwnProperty(i) /*&& !isNaN(+i)*/) {
dateArray[+i] = intObj[i];
}
}
这不是JSON。(JSON必须使用双引号)@SLaks:但是firefox说它的JSON。它错了?Firefox“说”它是JSON是什么意思?对不起,从来没有听说过。如果响应来自ajax调用,请确保您使用
response=response.responseText
myarray=response.responseText.data代码>也没有帮助。同样的结果。请将回复内容粘贴在这里。这是什么意思?要查看响应的屏幕截图吗?我得到错误:SyntaxError:JSON.parse:预期的属性名或“}”
var intObj = eval("(" + response + ");");
for (var i in intObj.data) {
console.log(i);
if(intObj.hasOwnProperty(i) /*&& !isNaN(+i)*/) {
dateArray[+i] = intObj[i];
}
}