我试图将我的红色节点流生成的java脚本对象传递给JSON格式。但这让我很难知道如何去做。 获得的对象脚本是一个小时和分钟,写在屏幕上,例如" 13:02"。在"结果"屏幕我需要以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字符串:
答案 0 :(得分:1)
如果要返回JSON对象,则根本不应该使用JSON.stringify()
函数。只需在有效负载字段中组合要发送的对象即可。
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;
此外,如果您确实需要将对象转换为字符串,反之亦然,请使用转换msg.payload
的托盘中的JSON节点。
答案 1 :(得分:0)
将结果分配给变量。 JSON.stringify将返回一个新对象: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);