Estoy usando node-RED para solicitar datos de un robot. En la ventana de depuración dice que es un 'mensaje: Objeto', y cuando lo copio en un bloc de notas toma el formato: {"tema":"","carga útil":27.659992218017578,"_sesión":{"tipo" :"tcp","id":"0151ff7339437ec6"},"_msgid":"6a6897605a523366"}
Tampoco estoy seguro de si se trata de un objeto JSON o no, ya que veo ejemplos con '' alrededor de los corchetes.
Estoy tratando de usar el nodo de función dentro de node-red para analizar esto y obtener el valor de "carga útil". Sin embargo, sigue regresando como indefinido.
Estoy usando el script:
var json =msg.payload; var obj = JSON.parse(json); msg.payload = console.log(obj.payload); return msg;
Soy un principiante en javascript y JSON, sin embargo, he intentado buscar y todos los ejemplos solo tienen números enteros como valor de análisis. Tampoco estoy seguro de si el nombre del valor en sí mismo 'carga útil' está causando un problema. También intenté secuenciar y usar 'getDouble' pero no tuve suerte, lo que se debe a mi falta de experiencia.
Agradezco cualquier orientación.
No necesitas hacer nada. El valor de msg.payload
ya es un doble.
Sin mucho más contexto de lo que está tratando de hacer, no hay nada más que podamos decir aquí.
Después del nodo que obtiene la información anterior (los datos en {} en la pregunta}, luego agregué el nodo 'json' y luego usé el nodo de depuración con msg.payload como salida. Esto generó el valor de carga útil anterior como un cadena Ahora he podido agregar un nodo de función que me permite editar los datos según sea necesario.