我正在尝试循环遍历以下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检索一些特定数据。提前谢谢你的帮助。
答案 0 :(得分:1)
您的代码返回第一个项目的原因是您使用data.statments[0]
选择它,然后循环遍历该项目。
使用jQuery,你可以像这样使用grep-method:
var arrayWithItem = jQuery.grep(data.statements, function( obj ) {
return obj.predicate == "E";
});
您可以阅读有关grep-method here
的更多信息使用D3js我不确定,我猜你必须用if语句循环它。
答案 1 :(得分:1)
试试这个:
$(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>");
});
})