1

这真的让我很烦。我有一个节点服务器,它接收发布数据,对其进行解析,然后将其作为 json 字符串的一部分发回。但由于某种原因,它不起作用。

传入的帖子数据格式为:rgb=rgb(xxx%2Cxxx%2Cxxx)

我解析它并删除 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

这正是我需要发送到这个 json 字符串的内容:

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

但它不起作用。

这行得通,所以我知道我走在正确的轨道上:

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

我需要对字符串进行某种类型的转换以使其工作吗?

4

1 回答 1

1

rgb是一个包含逗号分隔值的字符串。您需要解析这些值并将它们放入一个数组中。尝试这个:

rgb = rgb.split(',')
         .map(function(str) { return parseInt(str, 10); });
于 2014-01-24T23:33:26.637 回答