我在网上发现了一个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中的方式类似的数组?
答案 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。
答案 6 :(得分:0)
如果您的浏览器或环境中有正确的JSON
对象(例如Firefox),则可以使用JSON.stringify(obj)
将对象转换为字符串并按照您的意愿使用。