Intento pasar el valor de la matriz del frontend al backend, mientras transmito el valor y me enfrento a algunos errores.
estos son mis datos de respuesta
{ sender: 'venkat', numbers: '[919361667266, 919361667266, 919361667266, 919361667266]', message: 'hiii' } Necesito convertir este número de datos este '[919361667266, 919361667266, 919361667266, 919361667266]'
a
'["919361667266", "919361667266", "919361667266", "919361667266"]'el error que enfrenté al analizar
const numbers = JSON.parse(req.body.numbers); (node:27058) UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token @ in JSON at position 13 at JSON.parse (<anonymous>) at /Users/No está enviando JSON adecuado. JSON usó comillas dobles alrededor de la clave y los valores de cadena
{ "sender": "venkat", "numbers": "[919361667266, 919361667266, 919361667266, 919361667266]", "message": "hiii" }Alternativamente, podrías encadenar tu objeto
const payload = JSON.stringify({ sender: 'venkat', numbers: '[919361667266, 919361667266, 919361667266, 919361667266]', message: 'hiii' });Después JOSN.parse , el parámetro de numbers será una matriz de números, este es el caso en la respuesta porque el servidor está enviando una matriz de números. Entonces puede manejarlo en el lado del servidor o en el lado del cliente
En el lado del servidor
Antes de enviar la respuesta, los valores en la matriz de numbers
numbers.map(val => val.toString())
O
Del lado del cliente
Analizarlo y convertirlo en cadena
JSON.parse(numbers).map(val => val.toString())
La interfaz está enviando '[919361667266, 919361667266, 919361667266, 919361667266]'
Lo que puede hacer es convertir esa cadena en una matriz de cadenas: response.numbers.split(/\D+/).filter(s => !!s)
Código:
const response = { sender: 'venkat', numbers: '[919361667266, 919361667266, 919361667266, 919361667266]', message: 'hiii' } const numbers = JSON.stringify(response.numbers.split(/\D+/).filter(s => !!s)) const str = JSON.stringify({ ...response, numbers }) const obj = JSON.parse(str) console.log('Result Str: ', str) console.log('Result Obj: ', obj)