car*_*ter 4 api jquery json google-plus
我刚刚开始使用谷歌+ API,并搜索了文档.看起来很简单.根据谷歌,他们的API调用返回json.为什么在我在jQuery中调用键值之前解析json之前必须对json进行字符串化?以下是我正在使用的代码示例:
$.ajax({
url: "https://www.googleapis.com/plus/v1/people/{user number}/activities/public?key={my api key}",
data: {
"maxResults": 20,
"verb": "post"
},
dataType: "json",
type: "get",
success: function (data) {
var num_actual_posts = 0;
data = $.parseJSON(JSON.stringify(data));
var listElements = $('ul#googleFeedUL li');
for (var i = 0; i < data.items.length; i++) {
if (data.items[i].verb == "post") {
$(listElements[num_actual_posts]).append(data.items[i].object.content);
num_actual_posts++;
if (num_actual_posts > 5) {
break;
}
}
}
},
error: function (e) {
alert(e);
}
});
Run Code Online (Sandbox Code Playgroud)
注意:我必须拨打20个帖子,因为当出于某种原因请求"post"动词时,用户所做的"份额"也会被返回.然后我在返回的json中查找实际帖子,以便仅显示真实帖子.文档似乎也没有告诉你如何通过解释json对象层次结构来提取数据,所以我只需要通过控制台跟踪它.'data.items [i] .object.content'是google +帖子的内容.
您的AJAX调用已经指定dataType: "json",因此jQuery已经将返回的JSON解析为JavaScript对象.
你应该能够放弃
data = $.parseJSON(JSON.stringify(data));
Run Code Online (Sandbox Code Playgroud)
完全data是你想要的对象.