我是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"
}
答案 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
我希望它有所帮助。