2015-05-26 84 views
1

有人可以幫助解析一些JSON字符串的數據。這裏是JSON數據:如何從AJAX成功函數解析這個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

在此先感謝。

+3

我想'mapDetailsData'已經是JSON格式,你不需要'jQuery.parseJSON' – Satpal

+0

JSON.parse成功對我來說原來的數據串。 – marekful

+0

這個問題似乎是,你正在迴應一個查詢的結果,像在php中的字符串,而不是json_encoding結果 – madalinivascu

回答

3

假設您將datatype參數設置爲json(或將其保留爲默認設置,並且它自己識別JSON格式),那麼jQuery將自動爲您解序列化響應。您看到的錯誤通常表明您正在嘗試解析兩次。試試這個:

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