summaryrefslogtreecommitdiffstats
path: root/dgbuilder/public/util/js/jsonTool.js
diff options
context:
space:
mode:
Diffstat (limited to 'dgbuilder/public/util/js/jsonTool.js')
-rw-r--r--dgbuilder/public/util/js/jsonTool.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/dgbuilder/public/util/js/jsonTool.js b/dgbuilder/public/util/js/jsonTool.js
new file mode 100644
index 00000000..f4d0de36
--- /dev/null
+++ b/dgbuilder/public/util/js/jsonTool.js
@@ -0,0 +1,67 @@
+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);
+ for(var i=0;i<objArr.length -1;i++){
+ var subStr= objArr[i] ;
+ //console.log("subStr:" + subStr);
+ 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];
+ }
+ }
+ //console.dir(currObj);
+ }
+ prevStr=subStr;
+ if(i <objArr.length-2){
+ prevObj=currObj;
+ }
+ }
+ var lastStr = objArr[objArr.length-1];
+ currObj[lastStr] = value;
+ //prevObj[lastStr] = value;
+ //console.dir(currObj);
+ return obj;
+}
+n=dotToJson('abcfdfghdghdghdghdhdhd.efhfjhfjhfjhfjhfjhfjhfbg.hfjhfjhfjhfjhfjhfjh.l',"1234",obj);
+//console.dir(n);
+JSON.stringify(n,undefined,2);
+m=dotToJson('abc.ebg.h.n',"5678",n);
+console.dir(m);
+function printObj(obj){
+for( j in obj){
+ console.log(j + ":" + obj[j]);
+ if(typeof obj[j] == "object" ){
+ printObj(obj[j]);
+ }
+
+}
+}
+printObj(m);
+a=JSON.parse(JSON.stringify(m,null,2));
+console.dir(a);
+
+
+//console.log (stringToObj('abc.ebg.h',"",{}));