这让我感到困惑,我什至不确定我是否正在搜索正确的关键字来寻找可能的解释。
我正在向远程服务器发送 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 对我来说是新的。如果我通过寻求帮助而违反了任何协议(protocol),而没有发布我微弱的尝试来解决这个问题,我提前道歉......
最佳答案
您可以用逗号
分割
响应,这将为您提供一个数组。由于两个数组(键和值)的长度相同,因此您可以循环其中一个数组并以这种方式创建对象数组。见下文
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);
关于Javascript 将 CSV 字符串映射到 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37824511/