我有一个ajax代码,它返回JSON数据,它只是字符串数组(没有键/值对)。
function loadData() {
$.ajax({
type: 'GET',
url: apiURL,
dataType: "json",
timeout: 2000,
success: onLoadData
};
function onLoadData(data) {
console.log(data);
var arr = JSON.parse(data);
//var arr = jQuery.parseJSON(data); this also fails.
alert(arr[0]);
};
console.log()
的输出为= ["one", "two", "three"]
,但JSON.parse()
给出的错误为:
未捕获的SyntaxError:意外的令牌o
我使用validator检查了JSON,它说这是有效的JSON。
有人可以帮助理解parse()
失败的原因吗?
答案 0 :(得分:4)
只要remove JSON.parse(data)
,如果它已经是一个数组。您会看到alert
来电应该可以正常使用。
答案 1 :(得分:0)
只是做:
alert(data[0]) // and remove everything else in that callback.
你对dataType : "json"
已经很好了。