我想从json文件中获取最小值和最大值(在名为size的文件中)。如何使用d3js和javascript?有什么机会迭代json文件?
示例json: flare.json
原创d3js视觉circle packing
如何使用这样的复杂json文件:json file
整个项目,包和类(Klassen)都有度量标准。 如何获得类的最小和最大LinesofCode(Klassen)?
答案 0 :(得分:0)
据我了解,D3.js对此类任务没有帮助。在纯JS中,您的JSON文件可以转换为普通对象并进行解析。我没有提供通用的解决方案,因为您要比较的结构和数据确实从一个文件到另一个文件不同。但是这个想法总是一样的:遍历JSON文件的树结构从root到leafs,寻找要与递归函数进行比较的数据(基于你的第一个JSON文件的结构):
function recursion(obj){
if(obj.hasOwnProperty("size")){
// if the current object has the 'size' property
// do what you want with 'size'
} else if (obj.hasOwnProperty("children")) {
// if the current object has the 'children' property
// recursively repeat for each children
obj.children.forEach(function(child){
result.recursion(child);
});
}
}
recursion(data); //data is the object created from the JSON file
flare.json(所有元素的大小的最小值和最大值):http://jsfiddle.net/3LEeM/1/
第二个JSON文件( LinesofCode的最小值和最大值仅用于 Klassen ):http://jsfiddle.net/RA6gb/