2016-11-15 199 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] 
    } 
}