javascript - 拆分由 '=' 符号分隔的管道分隔键值对

标签 javascript 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'
}

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

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

谁能告诉我在 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/

相关文章:

javascript - Uncaught Error : _registerComponent(. ..) : Target container is not a DOM element. (...)

javascript - vue-router 意外导入 token

javascript - Twitter Stream.on 意外的代币 E

jquery - 用于实时应用程序的 Socket.io

node.js - 如何找到特定文档并更新数组内特定键的值?

javascript - 如何在 Node.js 中进行纤维化等待?

javascript - 如何添加预构建的 javascript 以与 webpack 进行 react

javascript - 使用 JQuery 将 Div 的背景图像旋转 90 度

node.js - Express 未知错误处理程序正在记录自定义错误

MySQL LOAD DATA INFILE 不加载完整数据