在parsing节点中的发布数据时遇到问题
这真是让我烦恼。 我有一个节点服务器接收发布数据,parsing它,然后将其作为jsonstring的一部分返回。 但由于某种原因,它不工作。
传入的发布数据格式为: rgb=rgb(xxx%2Cxxx%2Cxxx)
我parsing它,并删除rgb和括号:
var str = (querystring.parse(postData).rgb); var str=S(str).replaceAll('%2C', ',').s; var str=S(str).replaceAll('rgb(', '').s; var rgb=S(str).replaceAll(')', '').s;
这留给我:xxx,xxx,xxx
这正是我需要发送到这个JSONstring:
hue.light(Light1, function(light){ hue.change(light.set({'rgb':[rgb]})); });
但它不起作用。
这工作,所以我知道我在正确的轨道上:
hue.light(Light1, function(light){ hue.change(light.set({'rgb':[xxx,xxx,xxx]})); });
有什么types的转换,我需要做的string,使其工作?
rgb
是一个包含逗号分隔值的string。 你需要parsing这些值并把它们放在一个数组中。 尝试这个:
rgb = rgb.split(',') .map(function(str) { return parseInt(str, 10); });