一尘不染

分割由“ =”符号分隔的管道定界键值对

node.js

我们正在接收一个输入参数值,它是一个由竖线分隔的键值对,并用=符号分隔。例如:

"|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'
}

什么是最好的方法,因为有多种选择:

  • 我可以使用split with,|并再次对每个元素使用split =
  • 我可以依靠正则表达式并进行字符串替换。
  • 使用=删除尾随|符号对其进行拆分,然后将两个不同的数组与索引相关联。

谁能告诉我用JavaScript(在Node.js中编程)执行此操作的最佳/最有效方法?


阅读 245

收藏
2020-07-07

共1个答案

一尘不染

第一个听起来不错:

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]);
});
2020-07-07