2012-06-08 72 views
1

我有一個通過php輸出json數據的代理腳本,我希望能夠使用javascript處理這些數據。我有以下代碼,但它只獲取php腳本輸出的整個json字符串。如何獲取數據並能夠使用此json數據訪問單個對象?使用javascript解析json數據

var xmlhttp; 
function loadXMLDoc(url, cfunc) { 
    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     // code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange = cfunc; 
    xmlhttp.open("GET", url, true); 
    xmlhttp.send(); 
} 

loadXMLDoc("http://xxxxx.appspot.com/userbase_us.php?callback=userdata", function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     var json = xmlhttp.responseText; 
     alert(json); 
    } 
}); 
+0

可能的重複[如何解析json在javascript](http://stackoverflow.com/questions/4935632/how-to-parse-json-in-javascript) – Polynomial

回答

5

您可以使用本機JSON.parse方法:

var json = JSON.parse(xmlhttp.responseText); 

注意,因爲這不受舊的瀏覽器的支持,您很可能希望polyfill it

+0

我得到錯誤「Uncaught SyntaxError:意外的令牌k 「 –

+0

@ Mr.1.0 - 然後你的JSON無效。使用腳本返回的示例JSON字符串更新您的問題,或者使用[JSON Lint](http://jsonlint.com/)這樣的工具來驗證它。 –

+0

謝謝你,我的JSON無效 –