我得到了这个小json文件:
{
"description": {
"is_a": "AnnotationProperty",
"labelEN": "description",
"labelPT": "descrição"
},
"relevance": {
"is_a": "AnnotationProperty",
"domain": "Indicator",
"labelEN": "relevance",
"labelPT": "relevância"
},
"title": {
"is_a": "AnnotationProperty",
"labelPT": "título",
"labelEN": "title",
"range": "Literal"
}
}
我需要构建一棵树,以查找“ is_a”字段和该字段之前的名称。一旦获得了这两个字段,就可以在正确的位置在树上插入一个孩子。
因此,使用javascript,如何获取每个名称和字段“ is_a”?
我希望有一个循环语句为我提供所有名称和“ is_a”字段,例如,第一次它给我“ description”和“ AnnotationProperty”,第二次迭代给我“ relevance”和“ AnnotationProperty”,等等
谢谢。
最佳答案
您可以像这样列出名称及其is_a
属性值:
Object.keys(data).forEach(function (name) {
if (data[name].is_a) console.log(name + ' is a ' + data[name].is_a);
});
在摘要中:
var data = {
"description": {
"is_a": "AnnotationProperty",
"labelEN": "description",
"labelPT": "descrição"
},
"relevance": {
"is_a": "AnnotationProperty",
"domain": "Indicator",
"labelEN": "relevance",
"labelPT": "relevância"
},
"title": {
"is_a": "AnnotationProperty",
"labelPT": "título",
"labelEN": "title",
"range": "Literal"
}
};
// collect name & is_a
result = [];
Object.keys(data).forEach(function (name) {
if (data[name].is_a) result.push(name + ' is a ' + data[name].is_a);
});
// output in snippet
document.write(result.join('<br>'));