¿Cómo elimino el carácter especial "en los datos y el valor de origen a continuación?
EDITAR: Agregué una coma después del azul antes del origen, el problema real era cómo hacer "[]" a [] después del origen.
quiero de esto:
{ "data" : "[{ "color": "blue", "origin": "[{"state" : "USA"}, {"state" : "AFRICA"}]" }]" }A esto:
{ "data" : [{ "color": "blue", "origin": [{"state" : "USA"}, {"state" : "AFRICA"}] }] } const strArr = "[{\"foo\": \"bar\"}]"; const arr = JSON.parse(strArr); console.log(arr);si el nombre de ese objeto es "obj", puedes hacer:
obj.data = JSON.parse(obj.data);esto convertirá una cadena json válida en una matriz
Editar: si solo está tratando de hacer que el origen sea una matriz en lugar de una cadena (suponiendo que json sea válido), probablemente sea mejor que JSON analice todo y luego establezca el origen en JSON. parse (origen)
let data = "[{\"color\": \"blue\", \"origin\": \"[{\\\"state\\\": \\\"USA\\\"},{\\\"state\\\": \\\"AFRICA\\\"}]\"}]"; let obj = { data: data }; let objData = JSON.parse(obj.data); objData[0].origin = JSON.parse(objData[0].origin); console.log(objData);