JSON Nested Object

Stev Williams1
Tera Guru

Hi all,

 

I am wondering if anyone can help me.  I have done a lot of looking around to try and find an answer to this but unable to find anything. 

I am retrieving data via Integration Hub Rest and trying to work out how I can get it to populate a table.  The issue I am finding is that (as below) the information under "data" is not an array so I cannot seem to be able to use JSON Parser Step as it just finds an object not an array. 

Under "data" we then have the server name e.g. "ServerXYZ" followed by various keys\values etc.  If for example I want to write a script to populate a table called "u_server_info" with just the fields below for each server how would I go about doing that?  

Table: "u_server_info"

Fields:  name, asset_type, general-power_status, general-vendor

 

{
    "error": false,
    "message": "Assets",
    "data": {
        "ServerXYZ": {
            "name": "ServerXYZ",
            "asset_type": "blade_server",
            "parent_name": "Server123",
            "attributes": {
                "general-power_status": "off",
                "general-enclosure_slot": 3,
                "general-serial_number": "zzzz1232",
                "general-server_model": "21323",
                "physical-cpu_count": 2,
                "physical-cpu_core_count": 4,
                "physical-cpu_speed": 1.86,
                "physical-ram_installed_size": 48,
                "physical-used_ram_slots": 12,
                "physical-nic_count": "4",
                "general-contact": "",
                "general-vendor": "hp"
            }
        },
          "ServerCBD": {
            "name": "ServerCBD",
            "asset_type": "blade_server",
            "parent_name": "Server892",
            "attributes": {
                "general-power_status": "off",
                "general-enclosure_slot": 3,
                "general-serial_number": "zzzz1232",
                "general-server_model": "21323",
                "physical-cpu_count": 2,
                "physical-cpu_core_count": 4,
                "physical-cpu_speed": 1.86,
                "physical-ram_installed_size": 48,
                "physical-used_ram_slots": 12,
                "physical-nic_count": "4",
                "general-contact": "",
                "general-vendor": "hp"
            }
          }
    }
}

 

 

2 REPLIES 2

Lakshmiprasann7
Tera Contributor
for(var key in obj){

if(obj[key] instanceof Object){

for(key2 in obj[key]){

    gs.log(JSON.stringify(obj[key][key2]),key2);

    gs.log(obj[key][key2].name);

}

}

Please mark if it is useful!

Lakshmiprasann7
Tera Contributor
Hi  @Stev Williams1 ,

Please Mark above thread if it is helpful which will help for future references.