2012-06-08 105 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无效 –