[CCSDK-28] populated the seed code for dgbuilder
[ccsdk/distribution.git] / dgbuilder / tools / jsonTool.js
diff --git a/dgbuilder/tools/jsonTool.js b/dgbuilder/tools/jsonTool.js
new file mode 100644 (file)
index 0000000..d95ae10
--- /dev/null
@@ -0,0 +1,119 @@
+var obj={};
+function dotToJson(str,value,obj){
+    //var objArr = path.split("."), part;
+    var objArr = str.split(".");
+       var prevStr;
+       var currObj;
+       var prevObj;
+       //console.log(str);
+       var isArray = false;
+       var prevObjIsArray = false;
+       for(var i=0;i<objArr.length -1;i++){
+               var subStr= objArr[i] ;
+               if(isArray){
+                       prevObjIsArray = true;  
+               }
+               isArray = false;
+               if(subStr.indexOf(']') == subStr.length -1){
+                       subStr = subStr.substring(0,subStr.length -2);
+                       isArray = true;
+               }
+               //console.log("subStr:" + subStr + isArray);
+               //console.dir(prevObj);
+               if(isArray){
+                       if(i==0 && obj[subStr] == undefined ){
+                               //console.log("i==0 && obj[subStr] ");
+                               obj[subStr]=[];
+                       }else if(i==0 && obj[subStr][0] == undefined ){
+                                               obj[subStr][0]={};
+                       }else if(i==0 && obj[subStr][0] != undefined ){
+                               currObj= obj[subStr][0];
+                       }else{
+                               if(i == 1){
+                                       //console.log("i==1 && obj[prevStr] ");
+                                       prevObj=obj[prevStr];
+                                       if(prevObj[subStr][0] == undefined){
+                                               prevObj[subStr] = [];
+                                               prevObj[subStr][0] = {};
+                                               currObj = prevObj[subStr][0];
+                                       }else{
+                                               currObj = prevObj[subStr][0];
+                                       }
+                               }else{
+                                       if(prevObj[subStr] == undefined){
+                                               prevObj[subStr]=[];
+                                               prevObj[subStr][0]={};
+                                               currObj = prevObj[subStr][0];
+                                       }else{
+                                               currObj = prevObj[subStr][0];
+                                       }
+                               }
+                       }
+               }else{
+                       if(i==0 && obj[subStr] == undefined ){
+                               obj[subStr] = {};
+                               currObj= obj[subStr];
+                       }else if(i==0 && obj[subStr] != undefined ){
+                               currObj=obj[subStr];
+                       //console.log("in gkjgjkg");
+                       }else{
+                               if(i == 1){
+                                       prevObj=obj[prevStr];
+                                       if(prevObj[subStr] == undefined){
+                                               prevObj[subStr] = {};
+                                               currObj = prevObj[subStr];
+                                       }else{
+                                               currObj = prevObj[subStr];
+                                       }
+                               }else{
+                                       if(prevObj[subStr] == undefined){
+                                               prevObj[subStr] = {};
+                                               currObj = prevObj[subStr];
+                                       }else{
+                                               currObj = prevObj[subStr];
+                                       }
+                               }
+                       }
+               }
+               prevStr=subStr;
+               if(i <objArr.length-2){
+                       //console.dir(currObj);
+                       prevObj=currObj;        
+               }
+       }
+       var lastStr = objArr[objArr.length-1];
+       if(isArray){
+               currObj[lastStr] = value;
+       }else{
+               currObj[lastStr] = value;
+       }
+       //prevObj[lastStr] = value;
+       //console.dir(currObj);
+       return obj;
+}
+function printObj(obj){
+for( j in obj){
+       console.log(j + ":" + obj[j]);
+       if(typeof obj[j] == "object" ){
+               printObj(obj[j]);
+       }
+
+}
+}
+
+var a=[];
+var nObj={};
+for(var i=0;i<a.length;i++){
+       dotToJson(a[i],'',nObj);
+}
+
+var nObj={};
+for(var i=0;i<a.length;i++){
+       var key =a[i].substring(0,a[i].indexOf(':'));
+       console.log(key);
+       var value =a[i].substring(a[i].indexOf(':') +1);
+       if(value == undefined) value ="";
+       dotToJson(key,value,nObj);
+}
+console.log(JSON.stringify(nObj,null,4));
+//console.log (stringToObj('abc.ebg.h',"",{}));