Estoy tratando de formatear una cadena de entrada JSON en Javascript para poder usarla como un mapa.
{accountNumber:E22E6178D16777E1E053020011AC64B0,paymentMethodObject:<ns2:Token>123</ns2:Token><ns2:Type>CreditCard</ns2:Type>,preview:true}Para hacer esto, necesito poner comillas alrededor de cada clave y valor. Como aquí:
{ "accountNumber": "12345", "paymentMethodObject": "<ns2:Token>123</ns2:Token><ns2:Type>CreditCard</ns2:Type>", "preview": "true" }El problema es que cuando trato de hacerlo, se agregan comillas a los valores XML también porque también contienen dos puntos.
¡Tal vez necesite usar el método de replace con el patrón Regex que coincide con la key:value lo reemplaza con un par rodeado de comillas!
let strJSON = '{accountNumber:E22E6178D16777E1E053020011AC64B0,paymentMethodObject:<ns2:Token>123</ns2:Token><ns2:Type>CreditCard</ns2:Type>,preview:true}'; let objJSON = strJSON.replace(/(\w+):([\/<>:\w+]+)/g,'"$1":"$2"'); console.log(objJSON)