如何在jquery中解析这个json?

时间:2014-01-04 18:25:48

标签: javascript jquery json node.js

我有来自node / express js的'json return'但解析它有问题。需要一些关于如何这样做的建议。

下面是我得到的json字符串。

{
  "comments": [
    {
      "comment": "wew",
      "published": 1388843496312,
      "username": "lol",
      "oauthID": "1234565"
    },
    {
      "oauthID": "1234565",
      "username": "lol2",
      "published": 1388843506898,
      "comment": "wew!!"
    }
  ]
}

下面是我用来解析这个json但是工作的代码。这是onSuccess函数

success: function(data, status) {
    data = $.trim(data);
    var obj = jQuery.parseJSON(data);
    alert(obj.comments);
}

编辑:这是我的要求

$.ajax({
    type: "POST",
    url: "/ajax/loadcomments",
    data: {
        ytid: ytkvid
    },
    cache: false,
    success: function(data, status) {
        data = $.trim(data);
        var obj = $.parseJSON(data);
        alert(obj.comments);
    }
});

我需要使用循环打印出json中的值。

谢谢!

3 个答案:

答案 0 :(得分:2)

你能试试吗,

$.each(obj.comments, function(index, value) {
   console.log(index+"::"+value);

});

答案 1 :(得分:1)

如果你已经指定ajax调用是json类型,你不要解析字符串,你已经有了一个对象。

为了遍历所有评论,它将是这样的:

$.ajax({
    type: "POST",
    url: "/ajax/loadcomments",
    data: {
        ytid: ytkvid
    },
    cache: false,
    success: function(data, status) {
        var comments = data.comments, i = 0, len = comments.length;
        for (; i < len; i += 1) {
            console.log(comments[i].comment);
        }
    }
});

答案 2 :(得分:0)

$.ajax({
type: "POST",
dataType: "json",
url: "/ajax/loadcomments",
data: {
    ytid: ytkvid
},
cache: false,
success: function(data, status) {
    alert(data.comments);
}

});