转换“;字符串对象“;到对象

Convert "String Object" to Object

本文关键字:对象 字符串 转换      更新时间:2023-09-26

我有问题,我有类似"[prop1][prop2][prop3]=5"的字符串。。我需要将这个字符串转换为JS对象,所以创建的对象将如下所示:

{
 prop1: {
  prop2: {
   prop3: 5
  }
 }
}

有什么帮助吗?感谢

您的示例没有提到数据的所有细节(级别、数据类型等),所以…

var str = '[prop1][prop2][prop3] = 5'
          .replace(/'[/g, '{"')
          .replace(/']/g, '":')
          .replace('=', '');
console.log(JSON.parse(str + '}}}'));

任意级别的Mod

var str = '[prop1][prop2][prop3] = 5';
var opens = str.match(/'[/g).length,
    str = str.replace(/'[/g, '{"')
             .replace(/']/g, '":')
             .replace('=', '');
console.log(JSON.parse(str + (new Array(opens + 1).join('}'))));