处理JSON结果

时间:2012-02-23 22:26:31

标签: javascript json api foursquare

我在从场地搜索中读取JSON数据时遇到问题。这是我的代码:

xmlhttpRC = new XMLHttpRequest();
url = "https://api.foursquare.com/v2/venues/explore?ll="+pointStrr+"&oauth_token=V5PI2GJ0KDOVH2GAHNHJ5DVLMRKNF440FR1N1HPG0XHX2OBQ&v=2015643&
callback=JSONP";
xmlhttpRC.open("GET", url, true);
xmlhttpRC.onreadystatechange = recCb;      
xmlhttpRC.send(null);
//return recommendedArr;
}

function recCb(data){
//console.log(data);
if(xmlhttpRC.readyState == 4){
    if(xmlhttpRC.status == 200){
        var recRes = xmlhttpRC.response;

        console.log(recRes);

        //console.log(recRes);
        console.log(recRes.meta.code);
    }
}

}

我得到了我对服务器的反应,firebug告诉我返回了一个JSON对象,但我不知道如何从这里访问数据。

console.log(recRes.meta.code)返回错误:

“recRes.meta未定义”

我哪里错了? 我想访问场地信息,但我只是使用meta.code作为一个简单的测试。 这可能很简单,但我很难过!

提前致谢, 罗斯。

2 个答案:

答案 0 :(得分:1)

您需要解析JSON。现代浏览器内置了JSON.parse,旧版本的IE等等 - 你理论上可以使用eval(响应),但它会造成安全漏洞。

如果您不能依赖拥有现代浏览器的用户,请

There is a library解析它。

答案 1 :(得分:0)

var decodedResp = JSON.parse(recRes);
if (decodedResp.meta.code === ...) 

JSON-object只是JS对象的表示,请参阅;它应该先解析。