如何打印json对象数组

时间:2011-12-02 22:20:48

标签: jquery xml arrays json youtube

我在网上发现了一个jquery函数,然后我调整了一点,但它需要一个youtube通道提供数据并将其转换为json对象。然后它存储来自对象数组的数据。我需要存储IS给出的额外数据,但我不知道如何显示数据,以便我可以在其数组中看到数据。我确定这听起来令人困惑,因为我不知道json对象或如何在jquery中打印出数据。我以前在php中使用我认为的打印功能完成了它。

这是提到的功能:

$j(function() {
    $j.getJSON('http://gdata.youtube.com/feeds/users/iCallOfDutyFILMS/uploads?orderby=published&alt=json-in-script&callback=?&max-results=1', function(data) {
        $j.each(data.feed.entry, function(i, item) {
            var updated = item.updated;
            var url = item['media$group']['media$content'][0]['url'];
            var thumb = item['media$group']['media$thumbnail'][0]['url'];
            var numViews = item['yt$statistics']['viewCount'];
            //var vidDescription = item[''][''];
            var width = 710; //only change this number
            var height = width*9/16;
            //...rest left out...

        });
    });
});

我想打印出数组以了解如何获取视频说明。我只是不知道通过数组的路径。在jquery中是否有一种方法可以打印出与我在php中的方式类似的数组?

7 个答案:

答案 0 :(得分:3)

如果您使用Firebug或其他开发人员工具,则可以使用console.log(数据),然后检查Firebug中的JSON响应(或您正在使用的任何检查工具)。然后,您可以使用该视图来确定访问所需视频说明的“路径”。

祝你好运。

答案 1 :(得分:2)

执行console.log( yourarray );您将能够在浏览器JavaScript控制台中看到输出。

答案 2 :(得分:1)

为什么不使用浏览器内置的检查器查看对象? Chrome,Firefox和更新版本的IE都有检查员,可以帮助您而无需编写任何自己的代码。

答案 3 :(得分:1)

在Chrome或Firefox中,按F12,这将打开Inspector。单击“控制台”以显示控制台窗口。

现在在您的javascript代码中,您要打印或“检查”的任何变量或对象。将其传递给控制台日志方法。

var your_array_variable = "a string variable";  
console.log(your_array_variable); //<-- This is what you want to do!

现在刷新页面并运行您正在构建的事件或功能。

Voila!...在控制台窗口中,您应该看到>Object(如果您打印对象)。

或者在上面的示例中..您会在控制台中看到a string variable

单击展开树节点(>)以查看对象/变量详细信息。

你几乎可以控制console.log!它是了解最新情况的好方法。

你也可以设置'断点',但这是另一个问题!..

我认为您的目标是:

console.log(data); // To show the JSON data received


<强>更新
试试这个,它对我有用,在控制台中你会看到2个对象,你可以点击并检查。第一个是来自json请求的数据,第二个是$ .each中循环的项目。 这对我有用,点击id="get_json"的任何内容。这将发出请求,并将响应记录到控制台。

    $('#get_json').click(function(e){
        e.preventDefault();
        $(function() {
            var json_url = 'http://gdata.youtube.com/feeds/users/iCallOfDutyFILMS/uploads?orderby=published&alt=json-in-script&max-results=1&callback=?';
            $.getJSON(json_url, function(data) {
                console.log(data); // Here we log to our console
                $.each(data.feed.entry, function(i, item) {
                    console.log(item); // This is what you want i think
                    var updated = item.updated;
                    var url = item['media$group']['media$content'][0]['url'];
                    var thumb = item['media$group']['media$thumbnail'][0]['url'];
                    var numViews = item['yt$statistics']['viewCount'];
                    //var vidDescription = item[''][''];
                    var width = 710; //only change this number
                    var height = width*9/16;
                    //...rest left out...

                });
            }).success(function() { alert("success"); })
            // Errors are your friend!.. Use them..
              .error(function(jqXHR, textStatus, errorThrown) {
                        console.log("error " + textStatus);
                        console.log("error throw " + errorThrown);
                        console.log("incoming Text " + jqXHR.responseText);
                    }) // End of .error
              .complete(function() { alert("complete"); });
            });
        });

答案 4 :(得分:1)

还有命令console.dir( object ),它将专门为您提供更好的转储,以便在FireFox和Chrome中使用树状系统进行探索。

更多信息:https://developer.mozilla.org/en-US/docs/Web/API/console.dir

答案 5 :(得分:0)

如果您想在编写任何代码之前检查从第三方获得的JSON,请转到http://jsonlint.com/并输入Url(没有回调的简单)并单击验证。它将验证并显示格式化的JSON。

http://jsonlint.com/

http://gdata.youtube.com/feeds/users/iCallOfDutyFILMS/uploads?orderby=published&alt=json&max-results=1

答案 6 :(得分:0)

如果您的浏览器或环境中有正确的JSON对象(例如Firefox),则可以使用JSON.stringify(obj)将对象转换为字符串并按照您的意愿使用。