Tengo una cadena recibida de una llamada a la base de datos de la siguiente manera:
"[{'url':'https://www.example.com/','category':'popular'},{'url':'https://example2.com/','category':'new'}]"Me gustaría analizar la cadena en una matriz TypeScript/JS para que quede de la siguiente manera:
[ {'url':'https://www.example.com/','category':'popular'}, {'url':'https://example2.com/','category':'new'} ]¿Cómo puedo hacer esto? JSON.parse no funcionará ya que la cadena no se parece a un JSON en cadena. ¡Gracias!
Suponiendo que no haya cadenas que contengan ' , puede reemplazar todas las apariciones de comillas simples con comillas dobles, luego puede analizarlas:
const str = "[{'url':'https://www.example.com/','category':'popular'},{'url':'https://example2.com/','category':'new'}]"; const arr = JSON.parse(str.replace(/'/g,'"')); console.log(arr);Reemplace las comillas simples con comillas dobles y luego JSON.parse
JSON.parse( "[{'url':'https://www.example.com/','category':'popular'},{'url':'https://example2.com/','category':'new'}]" .replace(/\'/g, '"') )