Si tengo esta cadena:
{some_name:{other_name:"text",array:["first","second",3]}}¿Hay alguna manera de convertirlo en un objeto utilizable en JavaScript?
JSON.parse() no puede hacerlo porque espera que los atributos estén entre comillas como esta
{"some_name":{"other_name":"text","array":["first","second"]}}Rápido y sucio
eval('foo = {some_name:{other_name:"text",array:["first","second",3]}}'); console.log(foo); foo será el objeto utilizable.
(pero no lo hagas, eval es malvado)
Manera más limpia
Puede transformarlo en un JSON válido y analizarlo.
const bar = '{some_name:{other_name:"text",array:["first","second",3]}}'; const foo = JSON.parse(bar.replace(/([^"])(\w+):/g, '$1"$2":')) console.log(foo);