javascript - 如何将表示多维数组的字符串解析为数组?

标签 javascript node.js parsing

给定一个格式的字符串

"(1,(2,3,4),(5,6,(7,8,9,a,(b,c,d))))"

将其转换为 JavaScript 数组的最简单方法是什么?

[1, [2, 3, 4], [5, 6, [7, 8, 9, 'a', ['b', 'c', 'd']]]]

同时使用整数和未处理的字符串会阻止我使用内置解析,而多维性会阻止我使用简单的分割或类似的方法。

最佳答案

一种选择是使用正则表达式将括号变成方括号,用引号将字符串括起来,然后 JSON.parse 它:

const input = "(1,(2,3,4),(5,6,(7,8,9,a,(b,c,d))))";
const json = input
  .replace(/\(/g, '[')
  .replace(/\)/g, ']')
  .replace(/[a-z]+/g, '"$&"');
console.log(JSON.parse(json));

关于javascript - 如何将表示多维数组的字符串解析为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54165381/

相关文章:

javascript - 在 Sails 中显示 PostController.js 发送的字符串变量的 ejs 代码

apache - Socket.io 通过 apache 服务器聊天(也运行 php 主站点)

node.js - 如何为具有构造函数(例如 imap)的复杂外部 commonjs 模块编写 TypeScript 声明文件?

python - 查找字符串中最后出现的子字符串,替换它

javascript - jQuery 缩放 DIV

javascript - 嵌套在 hbox 布局中的 ExtJS vbox 布局问题

javascript - Highcharts分组堆栈x.轴名称+类别名称

javascript - 在 node.js 中引发错误

python - PyParsing 和嵌套括号 : unexpected EOF error

C++:从一串 float 中获取单个浮点值