如何访问此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获取不同的值

我希望它有所帮助。