| 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',"",{})); |