Connector provides data for multiple tables

I am creating a connector but the json I get back gives me data for multiple tables.  I am currently parsing then magicparsing as the top level is called 'data'  

 

var jsonRes = JSON.parse(res);
datagrid.magicParseJSON(jsonRes.data);

 

{ "data": [ { "key": "osTypes", "title": "OS", "values": [ { "count": 5098, "title": "Windows", "value": "windows" }, { "count": 66, "title": "macOS", "value": "macos" }, { "count": 10, "title": "Linux", "value": "linux" }, { "count": 0, "title": "Windows Legacy", "value": "windows_legacy" } ] }, { "key": "agentVersions", "title": "Version", "values": [ { "count": 2526, "title": "3.2.4.54", "value": "3.2.4.54" }, { "count": 1, "title": "3.2.0.2671", "value": "3.2.0.2671" } ] }, { "key": "machineTypes", "title": "Type", "values": [ { "count": 2614, "title": "Desktop", "value": "desktop" }, { "count": 2445, "title": "Laptop", "value": "laptop" }, { "count": 115, "title": "Server", "value": "server" }, { "count": 0, "title": "Other", "value": "unknown" } ] }, 

 

However this then gives me a number of rows each of different size (one row for each 'key' ). Is it possible to just pick out one of these 'keys' and magicparse this i.e. create a dataset which is just the count of 'agentVersions'.

 

thanks

Comments

  • GrantSmith
    GrantSmith Indiana 🔴

    @Simon_King 

     

    Have you utilized the javascript filter function?

     

    Something like (untested):

     

    var agentVersions = jsonRes.data.filter(function( i, n ) {
    return n.key==='agentVersions';
    });