这个人困扰着我,我什至不确定我正在搜索正确的关键字以获取可能的解释。
我将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对我来说是新的。如果我通过寻求帮助而没有发布我的微弱尝试来弄清楚这一点,我会提前道歉...
-
您可以
split
逗号上的响应,这将为您提供一个数组。 -
由于两个数组(键和阀)的长度相同,因此您可以循环循环并以这种方式创建对象数组。请参阅下面的
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