JavaScript 反对 JSON Node-RED
JavaScript object to JSON Node-RED
我正在尝试将我的红色节点流生成的 java 脚本对象传递为 JSON 格式。但这让我很难知道该怎么做。
获得的对象脚本是写在屏幕上的小时和分钟,例如“13:02”。在 "result" 屏幕中,我需要以 JSON 格式查看
{"time": "hh: mm"}
但我在屏幕上看到 "hh:mm",但我认为 json 中没有。
另外,当我将 URL 提交给客户端 Web 服务并尝试检查 JSON 中的结果时,我收到此错误:
解析 JSON 数据时出错
这是代码:
msg.headers = {"Content-type" : "application/json"}
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
if(hour.toString().length == 1) {
var hour = '0'+hour;}
if(minute.toString().length == 1) {
var minute = '0'+minute;
}
msg.payload = hour+':'+minute;
JSON.stringify({"time": msg.payload});
return msg;`
调试消息告诉我它是 s 字符串:
将结果赋给一个变量。 JSON.stringify会给你return一个新对象:msg
不会受到影响
msg.payload = hour+':'+minute;
var newMsg = JSON.stringify({"time": msg.payload});
return newMsg;
例子
var msg = {};
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
if(hour.toString().length == 1) {
hour = '0'+hour;
}
if(minute.toString().length == 1) {
minute = '0'+minute;
}
msg.payload = hour+':'+minute;
var newMsg = JSON.stringify({"time": msg.payload});
console.log(newMsg);
如果您想 return 一个 JSON 对象,那么您根本不应该使用 JSON.stringify()
函数。只需 assemble 您要在有效负载字段中发送的对象。
msg.headers = {"Content-type" : "application/json"}
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
if(hour.toString().length == 1) {
var hour = '0'+hour;
}
if(minute.toString().length == 1) {
var minute = '0'+minute;
}
msg.payload = {
"time": hour+':'+minute
}
return msg;
此外,如果您确实需要将对象转换为字符串,反之亦然,我们可以使用 pallet 中的 JSON 节点来转换 msg.payload
.
我正在尝试将我的红色节点流生成的 java 脚本对象传递为 JSON 格式。但这让我很难知道该怎么做。 获得的对象脚本是写在屏幕上的小时和分钟,例如“13:02”。在 "result" 屏幕中,我需要以 JSON 格式查看
{"time": "hh: mm"}
但我在屏幕上看到 "hh:mm",但我认为 json 中没有。
另外,当我将 URL 提交给客户端 Web 服务并尝试检查 JSON 中的结果时,我收到此错误: 解析 JSON 数据时出错
这是代码:
msg.headers = {"Content-type" : "application/json"}
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
if(hour.toString().length == 1) {
var hour = '0'+hour;}
if(minute.toString().length == 1) {
var minute = '0'+minute;
}
msg.payload = hour+':'+minute;
JSON.stringify({"time": msg.payload});
return msg;`
调试消息告诉我它是 s 字符串:
将结果赋给一个变量。 JSON.stringify会给你return一个新对象:msg
不会受到影响
msg.payload = hour+':'+minute;
var newMsg = JSON.stringify({"time": msg.payload});
return newMsg;
例子
var msg = {};
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
if(hour.toString().length == 1) {
hour = '0'+hour;
}
if(minute.toString().length == 1) {
minute = '0'+minute;
}
msg.payload = hour+':'+minute;
var newMsg = JSON.stringify({"time": msg.payload});
console.log(newMsg);
如果您想 return 一个 JSON 对象,那么您根本不应该使用 JSON.stringify()
函数。只需 assemble 您要在有效负载字段中发送的对象。
msg.headers = {"Content-type" : "application/json"}
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
if(hour.toString().length == 1) {
var hour = '0'+hour;
}
if(minute.toString().length == 1) {
var minute = '0'+minute;
}
msg.payload = {
"time": hour+':'+minute
}
return msg;
此外,如果您确实需要将对象转换为字符串,反之亦然,我们可以使用 pallet 中的 JSON 节点来转换 msg.payload
.