我有以下json解析数据,我试图将其转换为javascript对象
usrPrefs
[Object { name="mystocks", value="500400,532500,500180,500312,500325"},
Object { name="mystocksname", value="Tata Power,Maruti Suzuki...NGC,Reliance Industries"},
Object { name="refresh_secs", value="600"}]
我正在尝试将此转换为类似下面的内容
myparam = {
mystocks:500400,532500,500180,500312,500325,
mystocksname:Tata Power,Maruti Suzuki...NGC,Reliance Industries
....
}
我如何在javascript中使用循环或任何构建功能,我开始学习javascript,我被困在这里......
提前谢谢。
此致 莫纳
答案 0 :(得分:1)
您可以使用reduce
函数来实现:
var myparam = usrPrefs.reduce(function(a, b){
a[b.name] = b.value;
return a;
}, {});
答案 1 :(得分:1)
试试这段代码:
var myparam = {};
for (var i = 0; i < usrPrefs.length; i++) {
myparam[usrPrefs[i].name] = usrPrefs[i].value;
}
答案 2 :(得分:1)
您可以选择使用数组而不是字符串,使用它更方便
function toMap(usrPrefs){
var result = {};
for(var i = 0 ; i < usrPrefs.length ; i++){
var obj = usrPrefs[i];
var array = obj.value.split(',').trim();
result[obj.name] = array;
}
return result;
};