Estoy creando api en NodeJS en la respuesta de api que recibo / estos caracteres A continuación se muestra mi respuesta de api:
static async getAdminOrders(logId, callback) { logger(logId, `Getting all orders of the stylist ${logId}`); const queryStr = 'SELECT order_details FROM stylist_order'; Util.executeQuery(queryStr,logId).then((result) => { callback(false, result || [], Util.statusCodes.SUCCESS); var str = JSON.stringify(result); // Remove \ from the string var str1 = str.replace(/\\/g,''); // Convert updated string back to object var newObj = JSON.parse(str1); console.log(newObj); }).catch((error) => { logger(logId, error); callback(true, { message: 'Failed to fetch order detials' }, Util.statusCodes.INTERNAL_SERVER_ERROR); }); } No devuelve el objeto después de eliminar los caracteres no deseados en la consola, pero cuando estoy haciendo console.log(str1) su cadena de retorno sin / . El problema es newObj no se muestra.
Alguien hágame saber lo que estoy haciendo mal.
La barra invertida escapa del carácter " , por lo que no son realmente no deseados. Cuando los elimina, podría dañar la carga útil, ya que JSON.parse() ya no puede leer la cadena correctamente. En su lugar, intentaría analizar los datos cadena en sí mismo como este:
static async getAdminOrders(logId, callback) { logger(logId, `Getting all orders of the stylist ${logId}`); const queryStr = 'SELECT order_details FROM stylist_order'; Util.executeQuery(queryStr,logId).then((result) => { callback(false, result || [], Util.statusCodes.SUCCESS); for(let i = 0; i < result.data; i++){ result.data[i].order_details = JSON.parse(result.data[i].order_details) } console.log(result); }).catch((error) => { logger(logId, error); callback(true, { message: 'Failed to fetch order detials' }, Util.statusCodes.INTERNAL_SERVER_ERROR); }); }