JSON解析错误Jquery的

JSON解析错误Jquery的

问题描述:

我使用返回JSON但jQuery的不能解析JSON和显示以下错误JSON解析错误Jquery的

Uncaught SyntaxError: Unexpected token ' in JSON at position 1 

通过API返回的数据的Web服务器似乎是罚款。我在我的js文件中复制了这个响应,并试图用$.parseJSON解析它,但是我得到了同样的错误。下面是一个包含返回json的代码片段,并parseJSON

var jso = "['ADCP1_SNR_CH1','ADCP1_SNR_CH2','ADCP1_SNR_CH3','ADCP1_RADVEL_CH0']"; 
     var dt = $.parseJSON(jso); 

我的问题是一个电话,有什么不对上述json阵列?为什么我碰到这个错误?

+1

http://json.org/您可以通过像一个服务运行的JSON JSONlint.com也是如此。基本上,字符串文字必须在双引号内。 –

+0

(位置1的JSON中的[SyntaxError:意外的标记'](https://stackoverflow.com/q/42356294/215552)也是重复的。 10次​​中的9次,搜索错误消息让你得到你想要的。有人与你的代表应该知道我们希望人们做他们的研究... –

的问题是,单引号不是JSON有效。交换单引号和双引号,像这样:

var jso = '["ADCP1_SNR_CH1","ADCP1_SNR_CH2","ADCP1_SNR_CH3","ADCP1_RADVEL_CH0"]'; 
    var dt = $.parseJSON(jso); 

或者,你可以逃脱这样的行情:

var jso = "[\"ADCP1_SNR_CH1\",\"ADCP1_SNR_CH2\",\"ADCP1_SNR_CH3\",\"ADCP1_RADVEL_CH0\"]"; 
    var dt = $.parseJSON(jso); 

JSON不支持单引号(')。它必须用双引号:

var jso = '["ADCP1_SNR_CH1","ADCP1_SNR_CH2","ADCP1_SNR_CH3","ADCP1_RADVEL_CH0"]'; 
 
var dt = $.parseJSON(jso); 
 
console.log(dt);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>