2016-11-15 198 views
-1

我將JSON中的響應轉換爲可讀形式。響應是一個Map.i.e它有一個鍵和值。將JSON映射解析爲對象

data={ 
    "name":"name1" 
    "mapIWantToConvert":{ 
         "key1":"value1" 
         "key2":"value2" 
         "key3":"value3" 
         } 
     } 

我想遍歷並得到鍵和值的所有值,並將其設置爲其他var.I我從A鍵循環。 這是行不通的:

var convertedData=data.mapIWantToConvert.key[i]; 

我做錯了什麼。謝謝

輸出是一個json文件,但又是一個不同的文件。

output={ 
    "allDataForkey1":{ 
         "key1":"value1" 
         } 
    "allDataForKey2":{ 
         "key2":"value2" 
         } 
} 
+0

數據2 = data.mapIWantToConvert? – axlj

+0

你能提供某種預期的輸出嗎? – taguenizy

+0

plz檢查編輯或更新的問題@taguenizy – Subhash

回答

1

如果你想從轉換的響應mapIWantToConvert鍵,你可以做到這一點,像這樣得到的數值。

var data = { 
 
    "name": "name1", 
 
    "mapIWantToConvert": { 
 
    "key1": "value1", 
 
    "key2": "value2", 
 
    "key3": "value3", 
 
    } 
 
} 
 

 
var dataMap = data.mapIWantToConvert; 
 

 
var values = Object.keys(dataMap).reduce(
 
    (valueArr, key) => [...valueArr, dataMap[key]], 
 
    [] 
 
) 
 

 
console.log(values)

0

可以遍歷一個對象的關鍵點是這樣的:

var myObject = data.mapIWantToConvert 
var newObject = {} 

for (var key in myObject) { 
    if (myObject.hasOwnProperty(key)) { 
     newObject[key] = myObject[key] 
    } 
}