Javascript jquery中的JSON.parse错误

Javascript jquery中的JSON.parse错误,javascript,jquery,json,parsing,Javascript,Jquery,Json,Parsing,我正在从服务器端代码中检索值,这是我的值 ["INCOMING",09:09:49,"INETCALL",00:14:09,"ISD",00:05:50,"LOCAL",02:38:02,"STD",01:39:28] 现在,根据我的需要,我想将其解析为JSON,但在解析时给出了错误 SyntaxError: JSON.parse: expected ',' or ']' after array element var dbdata=JSON.parse(data); 下面是我从服务器端获

我正在从服务器端代码中检索值,这是我的值

["INCOMING",09:09:49,"INETCALL",00:14:09,"ISD",00:05:50,"LOCAL",02:38:02,"STD",01:39:28]
现在,根据我的需要,我想将其解析为JSON,但在解析时给出了错误

SyntaxError: JSON.parse: expected ',' or ']' after array element

var dbdata=JSON.parse(data);
下面是我从服务器端获取值并将其解析为json的代码

$.ajax({
                type: 'GET',
                url: 'getdataduration',
                async:false,
                dataType: "text",
                success: function(data) {

                    var dbdata=JSON.parse(data);

                    for(var i=0,len=dbdata.length;i<len;i++){
                        $.isNumeric(dbdata[i]) ?  callduration.push(dbdata[i]) :  toc.push(dbdata[i]);
                    }
                }

            });
$.ajax({
键入:“GET”,
url:'getdataduration',
async:false,
数据类型:“文本”,
成功:功能(数据){
var dbdata=JSON.parse(数据);

对于(var i=0,len=dbdata.length;i将数据更改为以下格式

  ["INCOMING","09:09:49","INETCALL","00:14:09","ISD","00:05:50","LOCAL","02:38:02","STD","01:39:28"]

将数据更改为以下格式

  ["INCOMING","09:09:49","INETCALL","00:14:09","ISD","00:05:50","LOCAL","02:38:02","STD","01:39:28"]

将数据更改为以下格式

  ["INCOMING","09:09:49","INETCALL","00:14:09","ISD","00:05:50","LOCAL","02:38:02","STD","01:39:28"]

将数据更改为以下格式

  ["INCOMING","09:09:49","INETCALL","00:14:09","ISD","00:05:50","LOCAL","02:38:02","STD","01:39:28"]

您可以使用此web工具轻松测试JSON的有效性:


正如bipen所说,如果您使用PHP,请使用json_encode()发送数据,并将json作为数据类型放入美元中。使用此web工具,您可以轻松测试json的有效性:


正如bipen所说,如果您使用PHP,请使用json_encode()发送数据,并将json作为数据类型放入美元中。使用此web工具,您可以轻松测试json的有效性:


正如bipen所说,如果您使用PHP,请使用json_encode()发送数据,并将json作为数据类型放入美元中。使用此web工具,您可以轻松测试json的有效性:


正如bipen所说,如果您使用PHP,请使用json_encode()发送数据,并将json作为数据类型放在$中。ajax

该值既不是有效的json,也不是有效的JS。每秒钟一个元素都是无效的

例如
09:09:49
无效,它应该(可能)是
“09:09:49”

下面是一个有效数组,可以用JSON.parse解析

["INCOMING","09:09:49","INETCALL","00:14:09","ISD","00:05:50","LOCAL","02:38:02","STD","01:39:28"]

测试这类问题的一种简单方法是将服务器回复转储到浏览器开发控制台中,并查看产生的错误(如果有),该值既不是有效的JSON,也不是有效的JS。每秒钟一个元素都是无效的

例如
09:09:49
无效,它应该(可能)是
“09:09:49”

下面是一个有效数组,可以用JSON.parse解析

["INCOMING","09:09:49","INETCALL","00:14:09","ISD","00:05:50","LOCAL","02:38:02","STD","01:39:28"]

测试这类问题的一种简单方法是将服务器回复转储到浏览器开发控制台中,并查看产生的错误(如果有),该值既不是有效的JSON,也不是有效的JS。每秒钟一个元素都是无效的

例如
09:09:49
无效,它应该(可能)是
“09:09:49”

下面是一个有效数组,可以用JSON.parse解析

["INCOMING","09:09:49","INETCALL","00:14:09","ISD","00:05:50","LOCAL","02:38:02","STD","01:39:28"]

测试这类问题的一种简单方法是将服务器回复转储到浏览器开发控制台中,并查看产生的错误(如果有),该值既不是有效的JSON,也不是有效的JS。每秒钟一个元素都是无效的

例如
09:09:49
无效,它应该(可能)是
“09:09:49”

下面是一个有效数组,可以用JSON.parse解析

["INCOMING","09:09:49","INETCALL","00:14:09","ISD","00:05:50","LOCAL","02:38:02","STD","01:39:28"]

测试这类问题的一种简单方法是将服务器回复转储到浏览器开发控制台中,并查看产生服务器值的错误(如果有)不是JSON fromat,而是数组! JSON格式参考:

我认为您应该像这样从服务器生成数据:

[{"INCOMING":"09:09:49","INETCALL":"00:14:09","ISD":"00:05:50","LOCAL":"02:38:02","STD":"01:39:28"}]

来自服务器的值不是JSON fromat,而是数组! JSON格式参考:

我认为您应该像这样从服务器生成数据:

[{"INCOMING":"09:09:49","INETCALL":"00:14:09","ISD":"00:05:50","LOCAL":"02:38:02","STD":"01:39:28"}]

来自服务器的值不是JSON fromat,而是数组! JSON格式参考:

我认为您应该像这样从服务器生成数据:

[{"INCOMING":"09:09:49","INETCALL":"00:14:09","ISD":"00:05:50","LOCAL":"02:38:02","STD":"01:39:28"}]

来自服务器的值不是JSON fromat,而是数组! JSON格式参考:

我认为您应该像这样从服务器生成数据:

[{"INCOMING":"09:09:49","INETCALL":"00:14:09","ISD":"00:05:50","LOCAL":"02:38:02","STD":"01:39:28"}]

正确的JSON数据:

// you should create your json like this
var data = '[{
        "INCOMING" : "09: 09: 49",
        "INETCALL" : "00: 14: 09",
        "ISD" : "00: 05: 50",
        "LOCAL" : "02: 38: 02",
        "STD" : "01: 39: 28"
    }
]';
// use 'type: post' and 'dataType: json'. Because, post is safe and 
you are dealing with json data so it must be dataType: json
$.ajax({
    type : 'POST',
    url : 'getdataduration',
    async : false,
    dataType : "JSON",
    success : function (data) {
        var dbdata = JSON.parse(data);
        for (var i = 0, len = dbdata.length; i < len; i++) {
            $.isNumeric(dbdata[i].YOUR_JSON_KEY)
            ? callduration.push(dbdata[i].YOUR_JSON_KEY) 
            : toc.push(dbdata[i].YOUR_JSON_KEY);
        }
    }
});
You are using '$.isNumeric(dbdata[i])' but, as your json data your 
first value is string. So it's not gonna to work.
正确使用Ajax和JSON:

// you should create your json like this
var data = '[{
        "INCOMING" : "09: 09: 49",
        "INETCALL" : "00: 14: 09",
        "ISD" : "00: 05: 50",
        "LOCAL" : "02: 38: 02",
        "STD" : "01: 39: 28"
    }
]';
// use 'type: post' and 'dataType: json'. Because, post is safe and 
you are dealing with json data so it must be dataType: json
$.ajax({
    type : 'POST',
    url : 'getdataduration',
    async : false,
    dataType : "JSON",
    success : function (data) {
        var dbdata = JSON.parse(data);
        for (var i = 0, len = dbdata.length; i < len; i++) {
            $.isNumeric(dbdata[i].YOUR_JSON_KEY)
            ? callduration.push(dbdata[i].YOUR_JSON_KEY) 
            : toc.push(dbdata[i].YOUR_JSON_KEY);
        }
    }
});
You are using '$.isNumeric(dbdata[i])' but, as your json data your 
first value is string. So it's not gonna to work.

正确的JSON数据:

// you should create your json like this
var data = '[{
        "INCOMING" : "09: 09: 49",
        "INETCALL" : "00: 14: 09",
        "ISD" : "00: 05: 50",
        "LOCAL" : "02: 38: 02",
        "STD" : "01: 39: 28"
    }
]';
// use 'type: post' and 'dataType: json'. Because, post is safe and 
you are dealing with json data so it must be dataType: json
$.ajax({
    type : 'POST',
    url : 'getdataduration',
    async : false,
    dataType : "JSON",
    success : function (data) {
        var dbdata = JSON.parse(data);
        for (var i = 0, len = dbdata.length; i < len; i++) {
            $.isNumeric(dbdata[i].YOUR_JSON_KEY)
            ? callduration.push(dbdata[i].YOUR_JSON_KEY) 
            : toc.push(dbdata[i].YOUR_JSON_KEY);
        }
    }
});
You are using '$.isNumeric(dbdata[i])' but, as your json data your 
first value is string. So it's not gonna to work.
正确使用Ajax和JSON:

// you should create your json like this
var data = '[{
        "INCOMING" : "09: 09: 49",
        "INETCALL" : "00: 14: 09",
        "ISD" : "00: 05: 50",
        "LOCAL" : "02: 38: 02",
        "STD" : "01: 39: 28"
    }
]';
// use 'type: post' and 'dataType: json'. Because, post is safe and 
you are dealing with json data so it must be dataType: json
$.ajax({
    type : 'POST',
    url : 'getdataduration',
    async : false,
    dataType : "JSON",
    success : function (data) {
        var dbdata = JSON.parse(data);
        for (var i = 0, len = dbdata.length; i < len; i++) {
            $.isNumeric(dbdata[i].YOUR_JSON_KEY)
            ? callduration.push(dbdata[i].YOUR_JSON_KEY) 
            : toc.push(dbdata[i].YOUR_JSON_KEY);
        }
    }
});
You are using '$.isNumeric(dbdata[i])' but, as your json data your 
first value is string. So it's not gonna to work.

正确的JSON数据:

// you should create your json like this
var data = '[{
        "INCOMING" : "09: 09: 49",
        "INETCALL" : "00: 14: 09",
        "ISD" : "00: 05: 50",
        "LOCAL" : "02: 38: 02",
        "STD" : "01: 39: 28"
    }
]';
// use 'type: post' and 'dataType: json'. Because, post is safe and 
you are dealing with json data so it must be dataType: json
$.ajax({
    type : 'POST',
    url : 'getdataduration',
    async : false,
    dataType : "JSON",
    success : function (data) {
        var dbdata = JSON.parse(data);
        for (var i = 0, len = dbdata.length; i < len; i++) {
            $.isNumeric(dbdata[i].YOUR_JSON_KEY)
            ? callduration.push(dbdata[i].YOUR_JSON_KEY) 
            : toc.push(dbdata[i].YOUR_JSON_KEY);
        }
    }
});
You are using '$.isNumeric(dbdata[i])' but, as your json data your 
first value is string. So it's not gonna to work.
正确使用Ajax和JSON:

// you should create your json like this
var data = '[{
        "INCOMING" : "09: 09: 49",
        "INETCALL" : "00: 14: 09",
        "ISD" : "00: 05: 50",
        "LOCAL" : "02: 38: 02",
        "STD" : "01: 39: 28"
    }
]';
// use 'type: post' and 'dataType: json'. Because, post is safe and 
you are dealing with json data so it must be dataType: json
$.ajax({
    type : 'POST',
    url : 'getdataduration',
    async : false,
    dataType : "JSON",
    success : function (data) {
        var dbdata = JSON.parse(data);
        for (var i = 0, len = dbdata.length; i < len; i++) {
            $.isNumeric(dbdata[i].YOUR_JSON_KEY)
            ? callduration.push(dbdata[i].YOUR_JSON_KEY) 
            : toc.push(dbdata[i].YOUR_JSON_KEY);
        }
    }
});
You are using '$.isNumeric(dbdata[i])' but, as your json data your 
first value is string. So it's not gonna to work.

正确的JSON数据:

// you should create your json like this
var data = '[{
        "INCOMING" : "09: 09: 49",
        "INETCALL" : "00: 14: 09",
        "ISD" : "00: 05: 50",
        "LOCAL" : "02: 38: 02",
        "STD" : "01: 39: 28"
    }
]';
// use 'type: post' and 'dataType: json'. Because, post is safe and 
you are dealing with json data so it must be dataType: json
$.ajax({
    type : 'POST',
    url : 'getdataduration',
    async : false,
    dataType : "JSON",
    success : function (data) {
        var dbdata = JSON.parse(data);
        for (var i = 0, len = dbdata.length; i < len; i++) {
            $.isNumeric(dbdata[i].YOUR_JSON_KEY)
            ? callduration.push(dbdata[i].YOUR_JSON_KEY) 
            : toc.push(dbdata[i].YOUR_JSON_KEY);
        }
    }
});
You are using '$.isNumeric(dbdata[i])' but, as your json data your 
first value is string. So it's not gonna to work.
正确使用Ajax和JSON:

// you should create your json like this
var data = '[{
        "INCOMING" : "09: 09: 49",
        "INETCALL" : "00: 14: 09",
        "ISD" : "00: 05: 50",
        "LOCAL" : "02: 38: 02",
        "STD" : "01: 39: 28"
    }
]';
// use 'type: post' and 'dataType: json'. Because, post is safe and 
you are dealing with json data so it must be dataType: json
$.ajax({
    type : 'POST',
    url : 'getdataduration',
    async : false,
    dataType : "JSON",
    success : function (data) {
        var dbdata = JSON.parse(data);
        for (var i = 0, len = dbdata.length; i < len; i++) {
            $.isNumeric(dbdata[i].YOUR_JSON_KEY)
            ? callduration.push(dbdata[i].YOUR_JSON_KEY) 
            : toc.push(dbdata[i].YOUR_JSON_KEY);
        }
    }
});
You are using '$.isNumeric(dbdata[i])' but, as your json data your 
first value is string. So it's not gonna to work.


问题是,来自服务器的值不是JSON,而是数组。响应无效。
09:09:49
和其他时间不支持作为文本,应该引用。如果您在服务器端使用php…使用
echo JSON\u encode()将响应作为JSON发送;
。您得到的响应不是JSON…这是一个array@RoryMcCrossan先生,如果我把时间00:14:09定为“00:14:09”然后它将被解析这是正确的。通过添加引号,它将成为一种有效的JSON格式,并且可以被解析。问题是,来自服务器的值不是JSON,而是一个数组。响应无效。
09:09:49
和其他时间不支持作为文本,应该被引用。如果您在服务器端使用php…发送响应nse作为json,带有
echo json_encode();
。您得到的响应不是json…这是一个array@RoryMcCrossan先生,如果我把时间00:14:09定为“00:14:09”然后它将被解析这是正确的。通过添加引号,它将成为一种有效的JSON格式,并且可以被解析。问题是,来自服务器的值不是JSON,而是一个数组。响应无效。
09:09:49
和其他时间不支持作为文本,应该被引用。如果您在服务器端使用php…发送响应nse作为json,带有
echo json_encode();
。您得到的响应不是json…这是一个array@RoryMcCrossan先生,如果我把时间00:14:09定为“00:14:09”然后它将被解析这是正确的。通过添加引号,它将成为一种有效的JSON格式,并且可以被解析。问题是,来自服务器的值不是JSON,而是一个数组。响应无效。
09:09:49
和其他时间不支持作为文本,应该被引用。如果您在服务器端使用php…发送响应nse作为json,带有
echo json_encode();
。您得到的响应不是json