Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery循环浏览JSON文件_Javascript_Jquery_Json_D3.js - Fatal编程技术网

Javascript 如何使用jQuery循环浏览JSON文件

Javascript 如何使用jQuery循环浏览JSON文件,javascript,jquery,json,d3.js,Javascript,Jquery,Json,D3.js,我正在尝试循环使用以下JSON文件: { "statements": [{ "subject": "A" }, { "predicate": "B" }, { "object": "C" }, { "subject": "D" }, { "predicate": "E" }, { "object": "F" }] }

我正在尝试循环使用以下JSON文件:

 {
     "statements": [{
         "subject": "A"
     }, {
         "predicate": "B"
     }, {
         "object": "C"
     }, {
         "subject": "D"
     }, {
         "predicate": "E"
     }, {
         "object": "F"
     }]
 }
如您所见,有两个主语、两个谓词和两个对象。例如,我想获取值
“谓词”:“E”
。如何使用jQuery或D3JavaScript库实现这一点。下面的代码检索第一个主题
“subject”:“A”

或者在D3中(我不知道如何在D3中执行此操作):


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

代码返回第一项的原因是您使用
data.stations[0]
选择了它,然后在该项上循环

有了jQuery,您可以像这样使用grep方法:

var arrayWithItem = jQuery.grep(data.statements, function( obj ) {
  return obj.predicate == "E";
});
您可以阅读有关grep方法的更多信息

对于D3js,我不确定,我想您必须使用if语句循环使用它。

尝试以下方法:

$(data.statements).each(function (i) {
    var d = data.statements[i];
    $.each(d, function (k, v) { //get key and value of object
        $("body").append("<p>"+k + ":" + v+"</p>");
    });
})
$(data.statements)。每个(函数(i){
var d=数据报表[i];
$.each(d,函数(k,v){//获取对象的键和值
$(“正文”)。追加(“”+k+”:“+v+”

”); }); })

语句[1]。谓词
我尝试了这一个,但没有看到任何输出。有什么想法吗?
语句[1]。谓词只有在他已经知道他需要的项目的索引时才会起作用。这将返回语句数组中第二个对象的谓词值。他还要求使用带有谓词“E”的语句,这意味着他必须使用:
语句[4]。谓词
。看看这个问题:
var arrayWithItem = jQuery.grep(data.statements, function( obj ) {
  return obj.predicate == "E";
});
$(data.statements).each(function (i) {
    var d = data.statements[i];
    $.each(d, function (k, v) { //get key and value of object
        $("body").append("<p>"+k + ":" + v+"</p>");
    });
})