我们接收的输入参数值是一个以竖线分隔的键值对,用 =
符号分隔。例如:
"|User=0101|Name=ImNewUser|IsAdmin=0|RefId=23ae2123cd223bf235|"
所以格式是:|KEY=VALUE|KEY_2=VALUE_2|....|KEY_n=VALUE_n|
我需要将其拆分为 JSON 对象。所以,我的对象应该是:
{
'User':'0101',
'Name':'ImNewUser',
'IsAdmin':'0',
'RefId'='23ae2123cd223bf235'
}
最好的方法是什么,因为有多种选择:
- 我可以使用
|
拆分,然后再次使用=
拆分每个元素。 - 我可以依赖正则表达式并进行字符串替换。
- 用
=
拆分它,删除尾随|
符号并关联两个 具有索引的不同数组。
谁能告诉我在 JavaScript 中最好/最有效的方法(在 Node.js 中编程)?
最佳答案
第一个听起来不错:
var str = "|User=0101|Name=ImNewUser|IsAdmin=0|RefId=23ae2123cd223bf235|";
var result = {};
str.split('|').forEach(function(x){
var arr = x.split('=');
arr[1] && (result[arr[0]] = arr[1]);
});
关于javascript - 拆分由 '=' 符号分隔的管道分隔键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16249610/