comment obtenir des données json en jquery

Comment puis-je obtenir les commentaires ci-dessous à partir de données json?

{
"data":
[
    {
        "id":"123",
        "from":{"name":"name","id":"12"},
        "message":"Message",
        "comments": {
                        "data":
                        [
                            {
                                "id":"342",
                                "from":{"name":"name","id":"32"},
                                "message":"comment message 1"
                            },
                            {
                                "id":"341",
                                "from":{"name":"name","id":"21"},
                                "message":"comment message 2"
                            }
                        ],
                        "count":2
                    }
    }
]

}

Je sais comment faire pour obtenir l'id, de et message. mais je ne sais pas comment puis-je obtenir les données à l'intérieur de commentaires.

voici mon code jquery

$.getJSON(newsfeed_url,function(d) {
    $.each(d.data, function(i,res) {
        html += "<div class='container'>";
        html += "<li>"+ res.from.name +"</li>";
        html += "<li class='message'>" + res.message + "</li>";
        html += "<li>Comments: " + res.comments.count + "</li>";

        $.each(res.commments.data, function(i, comment) {
            html += "<li class=''>" + comment.message + "</li>";
        });
        html += "</div>";            
    });
    html += "</ul>";
    $("#contents").html(html);
});

mon code actuel ne se res.partir de.nom, res.commentaires.le comte, mais il ne reçoit pas de données à l'intérieur de commentaires, c'est à dire res.commentaires.les données.

comment puis-je l'atteindre?

voici mon fichier json. Ci-dessus, on I a donné l'exemple. ici, il va

{
"data":
[
    {
    "id":"7234234234_32423432",
    "from":{"name":"name","id":"34534534534"},
    "message":"Näyttelyn puoliväli/kolmas viikko.\n\nhttp://alastonkriitikko.blogspot.com/2011/09/nayttelykuvia-458-459-kadulla-ja.html",
    "picture":"http://external.ak.fbcdn.net/safe_image.php?d=AQAWGCUrr4QBEFXk&w=90&h=90&url=http%3A%2F%2F1.bp.blogspot.com%2F-pBAudI2423s%2FTm7y-ajz62I%2FAAAAAAAAE6g%2F-K4s1sfrYpI%2Fs72-c%2FIMG_1737.JPG",
    "link":"http://alastonkriitikko.blogspot.com/2011/09/nayttelykuvia-458-459-kadulla-ja.html",
    "name":"name: Näyttelykuvia 458 & 459: Kadulla ja studiossa",
    "caption":"alastonkriitikko.blogspot.com",
    "description":"Näyttelykuvia ja kritiikkejä sekä metakritiikkiä, päiväkirjamerkintöjä ja satunnaisia hajahuomioita taiteesta – sekä nähdystä että luetusta",
    "icon":"http://static.ak.fbcdn.net/rsrc.php/v1/yD/r/aS8ecmYRys0.gif",
    "actions":
    [
        {"name":"Comment","link":"http://www.facebook.com/23432354/posts/324534543546565"},
        {"name":"Like","link":"http://www.facebook.com/759688182/posts/274846375878348"}
    ],
    "type":"link",
    "created_time":"2011-09-13T09:47:23+0000",
    "updated_time":"2011-09-13T09:58:30+0000",
    "comments":
        {
            "data":
            [
                {
                    "id":"3242342343_345878348_4012650",
                    "from":{"name":"name","id":"4534544"},
                    "message":"hitto. pitää ehtiä näkemään. Niin pitkä on matka kantsusta keskustaan...",
                    "created_time":"2011-09-13T09:51:29+0000"
                },
                {
                    "id":"32453543534_34534534348_4012674",
                    "from":{"name":"name","id":"54654654645"},
                    "message":"Ainakin verraten tähän matkaan Sörkästä keskustampaan, joka usein väittää itseään minulle liian pitkäksi.",
                    "created_time":"2011-09-13T09:58:30+0000"
                }
            ],
            "count":2
        }
}
]
}

Il ne fonctionne toujours pas. BTW, je ne suis pas de prise de données à partir de facebook ou ailleurs. J'ai locales .fichier json et à partir de là, je reçois des données. L'objet qu'il dit est indéfini "res.commentaires.de données".

voici mon code entier

$(function() {
var newsfeed_url = "json_data/newsfeed.json";
var html = "<ul>";
$.getJSON(newsfeed_url,function(d) {
$.each(d.data, function(i,res) {
var userid = res.from.id;
var username = res.from.name;
var msg = res.message;
var date_time = res.created_time;
//var like = res.created_time;
var url = "https://graph.facebook.com/" + userid + "/picture";
var pUrl = "http://www.facebook.com/profile.php?id=" + userid;
html += "<div class='container'>";
html += "<li class='profile_image'><img src='" + url + "' /></li>";
html += "<li class='from_name'><a href='" + pUrl + "'>" + username + "</a></li>";
html += "<li class='message'>" + msg + "</li>";
html += "<li class='time_ago'>" + relative_time(date_time) + "</li>";
$.each(res.actions, function(i, action) {
html += "<li class=''><a href='" + action.link + "'>" + action.name + "</a></li>";
//html += "<li class=''>Link: " + action.link + "</li>";
});
html += "<li>Comments: " + res.comments.count + "</li>";
//html += "<li>Likes: " + res.likes.count + "</li>";
//html += "<li>Comments: " + res.comments.data + "</li>";
alert(res.comments.data);
$.each(res.comments.data, function(j, comment) {
//alert(comment.message);
html += "<li class=''>" + comment.message + "</li>";
});
//alert(res.comments.data);
html += "<li class='no_float'></li>";
html += "</div>";
//newsfeed(userid, username, msg, date_time, like);
});
html += "</ul>";
$("#contents").html(html);
});
//display message short.
function short_msg(msg, un) {
var limit = 80;
if(un)
return msg.length > 30 ? msg.substring(0, 30) : msg;
else 
return msg.length > limit ? msg.substring(0, limit) + "..." : msg;
}
//function which displays date and time in readable format
function relative_time(date_str) {
if (!date_str) {return;}
var s = $.trim(date_str);
s = s.replace(/\.\d\d\d+/,""); //remove milliseconds
s = s.replace(/-/,"/").replace(/-/,"/");
s = s.replace(/T/," ").replace(/Z/," UTC");
s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); //-04:00 -> -0400
var parsed_date = new Date(s);
var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); //defines relative to what ..default is now
var delta = parseInt((relative_to.getTime()-parsed_date)/1000);
delta=(delta<2)?2:delta;
var r = "";
if (delta < 60) r = delta + " seconds ago";
else if(delta < 120) r = " a minute ago";
else if(delta < (45*60)) r = (parseInt(delta / 60, 10)).toString() + " minutes ago";
else if(delta < (2*60*60)) r = " an hour ago";
else if(delta < (24*60*60)) r = "" + (parseInt(delta / 3600, 10)).toString() + " hours ago";
else if(delta < (48*60*60)) r = "a day ago";
else r = (parseInt(delta / 86400, 10)).toString() + " days ago";
return r;
}
});
InformationsquelleAutor doforumda | 2011-09-24