Javascript 将 CSV 字符串映射到 JSON 数组

Javascript map CSV string to JSON array

这让我感到困惑,我什至不确定我是否在搜索正确的关键字以寻找可能的解释。

我正在向远程服务器发送 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"
  }
}

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

这是我第一次 post 在这里,我一直在寻找 Obj-C 的学习和应用,而我正在学习 Swift,但 JS 对我来说是新手。如果我在没有 post 试图解决这个问题的微弱尝试的情况下寻求帮助而违反了任何协议,我会提前道歉...

阅读我的评论,然后查看:

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
  1. 你可以split逗号上的回复,这会给你一个数组。

  2. 由于两个数组(keys 和 vals)的长度相同,您可以遍历其中任何一个并以此方式创建对象数组。见下文

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