如何将指定字符串转换为Google Orgchart可识别的JQuery嵌套数组?
解决Google Orgchart数组格式转换问题
你的问题核心是原始字符串不符合合法的JSON/数组格式,导致无法直接转换为Orgchart需要的结构。以下是具体解决步骤和代码:
问题分析
你手动定义的数组var newarray = []; newarray= [ [{v:'12345678', f:'Employee 1'},'','Test'] ];是符合要求的,但目标字符串"{'v':'12345678','f':'Employee 1'},,Test"存在三个问题:
- 使用了单引号(JSON规范要求双引号)
- 连续逗号
,,对应的空值没有用引号包裹 - 缺少数组结构的外层括号
解决方案
通过字符串预处理+JSON解析来生成目标数组,代码示例:
// 原始输入字符串 const inputStr = "{'v':'12345678','f':'Employee 1'},,Test"; // 1. 替换单引号为双引号,符合JSON规范 // 2. 把连续逗号替换为带空字符串的逗号 // 3. 给最后一个未加引号的项添加双引号 const processedStr = inputStr .replace(/'/g, '"') .replace(/,,/g, ',"",') .replace(/([^,"]+)$/, '"$1"'); // 包裹成合法的数组JSON字符串,再解析 const innerArray = JSON.parse(`[${processedStr}]`); // 组装成Orgchart需要的外层数组结构 const newarray = [innerArray]; // 验证结果,输出和手动定义一致的数组 console.log(newarray);
运行后newarray会生成Orgchart可识别的结构:[ [ { v: '12345678', f: 'Employee 1' }, '', 'Test' ] ]
注意事项
如果你的实际字符串包含特殊字符(比如员工名称里的引号),需要额外添加转义处理,避免JSON解析失败。
内容的提问来源于stack exchange,提问作者user2232552
相关产品推荐
相关产品推荐

