Quiero esta respuesta: "socials": "Whatsapp_phone: 3413536723,Instagram: agusmac1,Linkedin: agusmac,Facebook: agusmac40"
ser algo como:
socials={ Whatsapp: 3413536723, Instagram: agusmac1, Linkedin: agusmac, Facebook: agusmac20}Intenté analizar JSON pero no puedo hacerlo funcionar
Primero puede analizar la cadena en un objeto envolviendo la cadena entre llaves y usando JSON.parse .
Luego, puede dividir la propiedad socials del objeto resultante por una coma, dividir cada elemento individual por dos puntos (con map ), luego usar Object.fromEntries :
const str = `"socials": "Whatsapp_phone: 3413536723,Instagram: agusmac1,Linkedin: agusmac,Facebook: agusmac40"` const obj = JSON.parse('{' + str + '}') obj.socials = Object.fromEntries(obj.socials.split(",").map(e => e.split(":"))) console.log(obj) Si desea recortar el valor, puede usar String.trim() :
const str = `"socials": "Whatsapp_phone: 3413536723,Instagram: agusmac1,Linkedin: agusmac,Facebook: agusmac40"` const obj = JSON.parse('{' + str + '}') obj.socials = Object.fromEntries(obj.socials.split(",").map(e => (arr = e.split(":"), arr[1] = arr[1].trim(), arr))) console.log(obj)