JSON Nested Object
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-02-2023 12:39 AM - edited 02-02-2023 01:33 AM
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"
}
}
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-06-2023 09:07 AM
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!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-07-2023 05:54 AM
Hi @Stev Williams1 ,
Please Mark above thread if it is helpful which will help for future references.