如何从 AJAX 成功函数中解析此 json 字符串?

How can I parse this json string from an AJAX success function?

有人可以帮忙解析 json 字符串中的一些数据吗?这是 JSON 数据:

data = "{\"centerLatitude\":-41.22766,\"centerLongitude\":174.812761,\"mapTypeId\":\"google.maps.MapTypeId.ROADMAP\",\"zoom\":18}"

在我的 AJAX 代码中,我有以下代码:

success: function (mapDetailsData) {
    var data = jQuery.parseJSON(mapDetailsData);
    alert(data.centerLatitude);
    alert(data.centerLongitude);
}

我在控制台中收到以下错误:

Uncaught SyntaxError: Unexpected token o

如果我指定JSON数据如下:

var data = jQuery.parseJSON('{\"centerLatitude\":-41.22766,\"centerLongitude\":174.812761,\"mapTypeId\":\"google.maps.MapTypeId.ROADMAP\",\"zoom\":18}');
alert(data.centerLatitude);
alert(data.centerLongitude);

alert 显示正确的数据。

我需要如何编写 ajax 代码来显示 centerLatitudecenterLongitude 的正确值?

提前致谢。

假设您将 datatype 参数设置为 json(或保持默认设置,它会自行识别 JSON 格式),那么 jQuery 将自动为您反序列化响应。您看到的错误通常表明您正在尝试解析两次。试试这个:

success: function (mapDetailsData) {
    alert(mapDetailsData.centerLatitude);
    alert(mapDetailsData.centerLongitude);
}