2016-11-15 4 views
-1

Я преобразовываю свой ответ, который находится в JSON, в читаемую форму. Ответ - это Map.i.e, у него есть ключ и значение.Разбор JSON Map to object

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

Я хочу итерацию и получить все значения ключа и значения, и установить их в другой var.I я получаю ключи от для цикла. это не работает:

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

, что я делаю неправильно. спасибо

вывод снова файл json, но другой.

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

data2 = 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] 
    } 
}