如何从Json获得最小值和最大值

时间:2014-07-25 03:03:02

标签: json d3.js

我想从json文件中获取最小值和最大值(在名为size的文件中)。如何使用d3js和javascript?有什么机会迭代json文件?

示例json: flare.json

原创d3js视觉circle packing


如何使用这样的复杂json文件:json file

整个项目,包和类(Klassen)都有度量标准。 如何获得类的最小和最大LinesofCode(Klassen)?

1 个答案:

答案 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/