String Array and JSON Parse in vRO Script

Mindwatering Incorporated

Author: Tripp W Black

Created: 04/03 at 03:50 PM

 

Category:
VMWare
vRO - VCAC

String Array Example:
The following code snippet performs a remote DB lookup and adds row contents to a string array of JSON.
(not a JSON object).

var appLst = new Array();
var isAppLst = false;
var appStatus = '1'; // 1=current, 99=deleted, 98=pendingdelete

try {
var allDbs = SQLDatabaseManager.getDatabases();
var appDb;
for (var i = 0; i < allDbs.length; i++) {
if (allDbs[i].name =="MWAppDb" || allDbs[i] == 'mwappdb') {
appDb = SQLDatabaseManager.getDatabaseById(allDbs[i].id);
break;
}
}

var qryTxt = "SELECT AppNm, AppVMNm, AppStatus, AppDtCreate FROM MWAppList Where AppStatus='" + appStatus + "' and AppNm Like 'MW%';";

var appRows = appDb.readCustomQuery(qryTxt);
for each (appRow in appRows) {
var appNm = row.getProperty('AppNm');
var appVMNm = row.getProperty('AppVMNm');
var appStatus= row.getProperty('AppStatus');
var appDtCreate = row.getProperty('AppDtCreate ');

var tmpStr = '{"appNm": "' + appNm + '", "appVMNm": "' + appVMNm + '", "appStatus": "' + appStatus + '", "appDtCreate": "' + appDtCreate + '"}';
appLst.push(tmpStr)
isAppLst = true;
// loop row
}
// end try
} catch(e) {
System.warn('ERROR - appLst not populated due to error: ' + e);
} finally {
// skip object cleanup - in vRA8 there is no object clean-up anymore
}



JSON Parse Example:
The following script code snippet performs a loop of the above list and gets individual app values
input: appLstCount
input: appLst

var vmLstLen = appLst.length;
var vmTxt = appLst[appLstCount];
System.log('Processing app: ' + vmTxt);

var jsonTxt = JSON.parse(vmTxt);
var appNm = jsonTxt.appNm;
var appVMNm = jsonTxt.appVMnm;
var appStatus = jsonTxt.appStatus;
var appDtCreate = jsonTxt.appDtCreate;

...








previous page