我正在将我在JSON中的响应转换为可读形式。响应是Map.i.e它有一个键和值。
data={
"name":"name1"
"mapIWantToConvert":{
"key1":"value1"
"key2":"value2"
"key3":"value3"
}
}
我想迭代并获取键和值的所有值并将它们设置为其他var.I我从for循环中获取键。 这不起作用:
var convertedData=data.mapIWantToConvert.key[i];
我在做错了什么。谢谢
输出又是一个json文件,但是不同的。
output={
"allDataForkey1":{
"key1":"value1"
}
"allDataForKey2":{
"key2":"value2"
}
}
答案 0 :(得分: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)
答案 1 :(得分:0)
您可以像这样迭代对象的键:
var myObject = data.mapIWantToConvert
var newObject = {}
for (var key in myObject) {
if (myObject.hasOwnProperty(key)) {
newObject[key] = myObject[key]
}
}