如何访问此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" }
parseJSON
可以帮助你
var obj = jQuery.parseJSON('{"name":"John"}'); alert( obj.name );
假设此JSON数据来自AJAX调用,请确保在未正确配置服务器以发送正确的Content-Type
响应头的情况下指定了正确的数据类型( json
):
$.ajax({ url: '/foo', type: 'POST', dataType: 'json', success: function(result) { alert(result.type); } });
然后传递给成功回调的参数将代表一个javascript对象(由jQuery自动从服务器响应JSON字符串反序列化)。 一旦你有一个javascript对象,你可以直接按名称访问它的属性。 在示例中,您已经显示它是一个简单的对象,而不是一个数组。 因此,您可以按名称直接访问属性。
假设你使用它作为你的ajax回调:
function(data){ ... }
您可以使用点表示法访问它:
data.type
如果您使用$.getJSON
(这将自动将AJAX响应解析为JSON对象),那么
$.getJSON("", function(data, status) { $.each(data, function(i, elem) { console.log(elem.type); }); });
请注意, $.each
回调的第一个参数是数组中的索引,而不是元素本身(这是第二个参数)。
请看看以下两个主题;
通过javascript在Json中找到价值
如何在jquery中从json获取不同的值
我希望它有所帮助。