JavaScript地图CSV字符串到JSON数组



这个人困扰着我,我什至不确定我正在搜索正确的关键字以获取可能的解释。

我将RPC发送到远程服务器。我得到的响应只是一个逗号限制的字符串,带有值(无键)这样的响应:

val1,val2,val3,val4,val5,val6,val7,val8,val9

当我收到此响应时,我需要通过JS将这些值映射到键(硬编码,我指定)并生成这样的JSON数组:

{
  "response": {
    "mykey1" : "val1",
    "mykey2" : "val2",
    "mykey3" : "val3",
    "mykey4" : "val4",
    "mykey5" : "val5",
    "mykey6" : "val6",
    "mykey7" : "val7",
    "mykey8" : "val8",
    "mykey9" : "val9"
  }
}

任何人都可以朝着正确的方向推动我...示例代码或接近我想要的内容的教程吗?这是一个用于中间件脚本的,当服务器收到响应时被调用。

这是我在这里的第一篇文章,在OBJ-C中学习并应用了很长时间,当我学习Swift时,JS对我来说是新的。如果我通过寻求帮助而没有发布我的微弱尝试来弄清楚这一点,我会提前道歉...

  1. 您可以split逗号上的响应,这将为您提供一个数组。

  2. 由于两个数组(键和阀)的长度相同,因此您可以循环循环并以这种方式创建对象数组。请参阅下面的

var response = 'val1,val2,val3,val4,val5';
var keys = [
  'key1', 'key2', 'key3', 'key4', 'key5'
];
var dict = [];
var vals = response.split(',');
vals.forEach(function(val, i) {
  dict[keys[i]] = val;
});
console.log(dict);

阅读我的评论,然后检查一下:

var result = 'val1,val2,val3,val4,val5,val6,val7,val8,val9';
// real question should be why result is not JSON already
var resArray = result.split(',');
console.log(resArray[0]); // first result
console.log(resArray[1]); // second result

最新更新