简体   繁体   English

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

[英]Convert JSON data into javascript object with key and value

I have below json parse data and i am trying to convert it to javascript object 我有以下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"}]

i am trying to convert this to something like below 我试图将其转换为类似下面的内容

myparam = {
  mystocks:500400,532500,500180,500312,500325,
  mystocksname:Tata Power,Maruti Suzuki...NGC,Reliance Industries
....
}

how i can do that in javascript something like using loop or any build in function, i started learning javascript and i am stuck here... 我怎么能在javascript中使用循环或任何构建功能,我开始学习javascript,我被困在这里...

thank you in advance. 先感谢您。

Regards, Mona 此致,莫娜

You could use the reduce function in order to achieve that: 您可以使用reduce函数来实现:

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

Try this code: 试试这段代码:

var myparam = {};

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

You might choose to use array instead of string, its more convenient for you to use 您可以选择使用数组而不是字符串,它更方便您使用

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM