我正在使用返回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>