Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JSON转换为JavaScript数组_Javascript_Json - Fatal编程技术网

将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];
        }
}