2015-09-30 25 views
-3

我必須使用JavaScript將嵌套的JSON轉換爲地圖。如何將JSON轉換爲使用JavaScript映射?

JSON文件

{ 
"centers" : { 
    "ER" : { 
    "admin":{ 
     "users" : { 
     "emp1" : { 
      "password" : "abcdefgh", 
      "username" : "pankaj-roy" 
     }, 
     "emp2" : { 
      "password" : "12345678", 
      "username" : "niketan-shah" 
     } 
     } 
    } 
    } 
} 
} 

我要創建從上面的JSON文件的地圖。

MAP

key   value 
centers  ER 
ER   admin 
admin  users 
users  emp1,emp2 
emp1   password,username 
emp2   password,username 
+1

你嘗試過這麼遠嗎?你有什麼特別的問題嗎?你事先知道鑰匙嗎? –

+0

你想要的對象是什麼? – ozil

+0

是啊..我知道密鑰在advance..and我想要的對象是創建一個像上面的地圖。 – hmims

回答

2

我認爲這是你在找什麼。

function keyMap(src, target){ 
 
    target = target || {}; 
 
    Object.keys(src).forEach(function(propName){ 
 
    var prop = src[propName]; 
 
    if(typeof prop == "object"){ 
 
     target[propName] = Object.keys(prop).join(','); 
 
     keyMap(prop, target); 
 
    } 
 
    }); 
 
    return target; 
 
}; 
 

 
var result = keyMap({ 
 
"centers" : { 
 
    "ER" : { 
 
    "admin":{ 
 
     "users" : { 
 
     "emp1" : { 
 
      "password" : "abcdefgh", 
 
      "username" : "pankaj-roy" 
 
     }, 
 
     "emp2" : { 
 
      "password" : "12345678", 
 
      "username" : "niketan-shah" 
 
     } 
 
     } 
 
    } 
 
    } 
 
} 
 
}); 
 
         
 
console.log(result);

+0

僅供參考大多數瀏覽器確實支持'Object.keys'方法,只有MSIE8和老版本不支持。 – pawel

+0

你說得對。我雖然是ES6功能。在這種情況下,我們不需要lodash。 –

相關問題