使用 Google+ API 进行 jQuery JSON 解析

标签 jquery json google-plus

我正在尝试解析来自 Google plus API 的数据。我想显示用户个人资料名称和个人资料图像。这是我到目前为止所拥有的:

<div class="gplus-data"></div>
<script> 
    $(document).ready(function() {
        $(function () { 
            $.getJSON( "https://www.googleapis.com/plus/v1/people/113411411661448774142?fields=displayName%2Cimage&key=AIzaSyC_f6bGDJ54pkibdZ1hfiQo3-ekJs_btr8",
                    function (data) {   
                $('.gplus-data').append('<tbody class="items"></tbody>');
                $('.gplus-data tbody').prepend('<tr><th>Name</th><th>Image</th></tr>'); 
                $.each(data.items, function(i,item){    
                    var item = '<td>' + item.displayName + '</td>'; 
                    item += '<td>' + item.image.url + '</td>';
                    $('.items').append('<tr>' + item + '</tr>');    
                });
            });
        });
    });
</script>

http://jsfiddle.net/yrrqd/1/

最佳答案

有几个问题,首先是简单的问题是您正在尝试将表格组件添加到 DIV

$(function () {})$(document).ready(function() {}) 相同,因此没有意义将一个包裹在另一个中

接下来是数据不是您尝试解析的格式。您的代码假设响应是一个数组,但提供的 url 返回一个对象。

如果将 DIV 更改为 table,这将起作用:

$(function() {
    $.getJSON(url, function(data) {      
        $('.gplus-data').append('<tbody class="items"></tbody>');
        $('.gplus-data tbody').prepend('<tr><th>Name</th><th>Image</th></tr>');            
            var item = '<td>' + data.displayName + '</td>';
            item += '<td><img src="' +data.image.url + '"></td>';
            $('.items').append('<tr>' + item + '</tr>'); 
    });    
});

演示:http://jsfiddle.net/NsfPH/

您真的希望公开您的 API key 吗?

关于使用 Google+ API 进行 jQuery JSON 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14013246/

相关文章:

iphone - iOS5 的 Json 解析器示例

jquery - SimpleModal 确认覆盖 : Would like callback to return true or false instead of URL redirect

javascript - setTimeout 和 setInterval 不起作用

.net - 在输入 json 中处理将 {null} 转换为 system.Int32 类型的错误

android - 如何在多项 Activity 中正确使用 Google Plus 登录?

java - 在 google plus 示例中找不到 "GoogleAccountManager"

c# - 如何在 C#.net 中使用 google + api 向 google hangout 发送消息?

jquery - 在图像的元素标签之前插入 div

javascript - 如何在 jquery 上并排区分 mouseout/leave 事件?

json - Springboot 与 Sybase 服务器 - 无法加载驱动程序类 : com. sybase.jdbc4.jdbc.SybDriver