Как напечатать массив объектов json - PullRequest
1 голос
/ 03 декабря 2011

Я нашел в сети функцию jquery, которую затем немного подправил, но она берет данные канала YouTube и превращает их в объект json. Затем он сохраняет данные из массивов объектов. Мне нужно хранить дополнительные данные, которые даны, но я не знаю, как отобразить данные, чтобы я мог видеть данные в своих массивах. Я уверен, что это звучит запутанно, и это потому, что я не знаю об объектах 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 ]

3 голосов
/ 03 декабря 2011

Если вы используете Firebug или другие инструменты разработчика, вы можете console.log (data) и затем проверить ответ JSON в Firebug (или любом другом инструменте проверки, который вы используете).Затем вы можете использовать это представление, чтобы определить «путь» для доступа к нужному описанию видео.

Удачи.

2 голосов
/ 03 декабря 2011

Do console.log( yourarray ); Вы сможете увидеть вывод в консоли браузера JavaScript.

1 голос
/ 18 сентября 2013

Существует также команда console.dir( object ), которая специально предоставит вам лучший дамп для исследования с использованием древовидной системы в FireFox и Chrome.

Дополнительная информация: https://developer.mozilla.org/en-US/docs/Web/API/console.dir

1 голос
/ 03 декабря 2011

В Chrome или Firefox, нажмите F12, это вызовет инспектора.Нажмите «Консоль», чтобы открыть окно консоли.

Теперь в вашем коде javascript, любую переменную или объект, который вы хотите напечатать или «проверить».Передайте его в метод журнала консоли.

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

Теперь обновите страницу и запустите событие или функцию, которую вы строите.

Вуаля! ... В окне вашей консоли вы должны увидеть >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"); });
            });
        });
1 голос
/ 03 декабря 2011

Почему бы не посмотреть на объект с помощью инспектора, встроенного в ваш браузер? В Chrome, Firefox и более новых версиях IE есть инспекторы, которые могут помочь вам без необходимости писать какой-либо собственный код.

0 голосов
/ 13 июня 2017

Если в вашем браузере или среде есть нужный объект JSON (например, Firefox), вы можете использовать JSON.stringify(obj), чтобы преобразовать объект в строку и использовать по своему усмотрению.

0 голосов
/ 03 декабря 2011

Если вы хотите проверить JSON, который вы получаете от третьей стороны, прежде чем писать какой-либо код против него, перейдите на http://jsonlint.com/ и введите URL (простой без обратного вызова) и нажмите Подтвердить.Он подтвердит и отобразит отформатированный JSON.

http://jsonlint.com/

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...