JSON 解析错误 Jquery



我正在使用返回JSON但jquery无法解析该json并显示以下错误的Web服务器

Uncaught SyntaxError: Unexpected token ' in JSON at position 1

api 返回的数据似乎没问题。我将响应复制到我的 js 文件中并尝试用$.parseJSON解析它,但我得到同样的错误。下面是包含返回json和对parseJSON的调用的代码片段

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

我的问题是,上面的json数组有什么问题? 为什么会遇到此错误?

问题是单引号在 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>

最新更新