将JSON数据转换为带有键和值的javascript对象

Convert JSON data into javascript object with key and value

本文关键字:键和值 javascript 对象 JSON 数据 转换      更新时间:2023-09-26

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

提前谢谢你。

问候,莫娜

您可以使用reduce函数来实现:

var myparam = usrPrefs.reduce(function(a, b){
  a[b.name] = b.value;
  return a;
}, {});

您可以选择使用数组而不是字符串,使用

更方便
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;
 }; 

试试下面的代码:

var myparam = {};
for (var i = 0; i < usrPrefs.length; i++) {
    myparam[usrPrefs[i].name] = usrPrefs[i].value;
}