This is really bugging me. I have a node server that receives post data, parses it, and then sends it back out as part of a json string. But for some reason it's not working.

The incoming post data is formatted: rgb=rgb(xxx%2Cxxx%2Cxxx)

I parse it and remove the rgb and parentheses:

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;

That leaves me with: xxx,xxx,xxx

Which is exactly what I need to send out to this json string:

hue.light(Light1, function(light){
hue.change(light.set({'rgb':[rgb]}));
 });

But it doesn't work.

This works, so I know I'm on the right track:

hue.light(Light1, function(light){
hue.change(light.set({'rgb':[xxx,xxx,xxx]}));
 });

Is there some type of conversion I need to make to the string to make it work?

有帮助吗?

解决方案

rgb is a string containing comma-separated values. You need to parse these values and put them in an array. Try this:

rgb = rgb.split(',')
         .map(function(str) { return parseInt(str, 10); });
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top