使用键和值将JSON数据转换为javascript对象

时间:2014-07-30 16:34:33

标签: javascript jquery json

我有以下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,我被困在这里......

提前谢谢。

此致 莫纳

3 个答案:

答案 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;
 };