在节点中解析后期数据时遇到问题

时间:2014-01-24 23:29:24

标签: javascript json node.js philips-hue

这真让我烦恼。我有一个节点服务器接收post数据,解析它,然后作为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]}));
 });

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

1 个答案:

答案 0 :(得分:1)

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

rgb = rgb.split(',')
         .map(function(str) { return parseInt(str, 10); });
相关问题