将“String Object”转换为Object

时间:2014-09-29 21:51:17

标签: javascript

我有问题, 我有像" [prop1] [prop2] [prop3] = 5" ..我需要将此字符串转换为JS对象,因此创建的对象willl如下所示:

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

有任何帮助吗?感谢

1 个答案:

答案 0 :(得分:1)

您的示例未提及数据的所有细节(多少级别,数据类型等),所以......

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('}'))));
相关问题