在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); });