如何使用jQuery循环访问JSON文件

我正在尝试循环通过以下JSON文件:

{ "statements": [{ "subject": "A" }, { "predicate": "B" }, { "object": "C" }, { "subject": "D" }, { "predicate": "E" }, { "object": "F" }] } 

如您所见,有两个主题,两个谓词和两个对象。 例如,我想获得值"predicate":"E" 。 我怎么能使用jQuery或D3 Javascript库来做到这一点。 我的下面的代码检索第一个主题"subject":"A"

 $.each(data.statements[0], function(i, v){ console.log(v.uriString); }); 

或者在D3中(我不知道在D3中如何做到这一点):

 d3.json("folder/sample.json", function(error, graph) { // Code is here for getting data from JSON file } 

任何人都可以帮我循环上面的JSON文件,并使用jQuery或D3 Javascript检索一些特定的数据。 提前谢谢你的帮助。

试试这个:

 $(data.statements).each(function (i) { var d = data.statements[i]; $.each(d, function (k, v) { //get key and value of object $("body").append("

"+k + ":" + v+"

"); }); })

在这里小提琴。

您的代码返回第一个项目的原因是您使用data.statments[0]选择它,然后循环遍历该项目。

使用jQuery,你可以像这样使用grep-method:

 var arrayWithItem = jQuery.grep(data.statements, function( obj ) { return obj.predicate == "E"; }); 

您可以在此处阅读有关grep-method的更多信息

使用D3js我不确定,我猜你必须用if语句循环它。