如何访问此JSON值?

时间:2012-05-01 11:27:57

标签: javascript jquery json

我是JavaScript的新手,我不知道如何在JSON字符串中访问某些值。我有这些对象,我通过使用$.each函数循环访问它们。但它似乎在这里没有用。我试过alert(data.type);,但它给了我undefined变量。

TL; DR:
这是我通过AJAX获得的JSON字符串。如何使用jQuery访问JavaScript中的type值?

{
    "parent_id": "100003381460677",
    "type": "post",
    "title": "a",
    "body": "b",
    "date_normal": "01 May 2012"
}

5 个答案:

答案 0 :(得分:3)

parseJSON可以帮助您

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name );

答案 1 :(得分:1)

假设此JSON数据来自AJAX调用,请确保在未正确配置服务器以发送正确的json响应标头时指定了正确的数据类型(Content-Type):< / p>

$.ajax({
    url: '/foo',
    type: 'POST',
    dataType: 'json',
    success: function(result) {
        alert(result.type);
    }
});

然后传递给成功回调的参数将代表一个javascript对象(由jQuery自动从服务器响应JSON字符串反序列化)。一旦你有一个javascript对象,你可以直接按名称访问它的属性。在示例中,您已经显示它是一个简单的对象,而不是一个数组。因此,您可以按名称直接访问属性。

答案 2 :(得分:0)

假设你使用它作为你的ajax回调:

function(data){ ... }

您可以使用点表示法访问它:

data.type

答案 3 :(得分:0)

如果您使用的是$.getJSON(这会自动将AJAX响应解析为JSON对象),那么

$.getJSON("<url>", function(data, status) {
     $.each(data, function(i, elem) {
          console.log(elem.type);
     });
});

请注意,$.each中回调的第一个参数是数组中的索引,而不是元素本身(这是第二个参数)。

答案 4 :(得分:0)

请查看以下两个主题;

Find value in Json by javascript

how to get distinct values from json in jquery

我希望它有所帮助。