这真让我烦恼。我有一个节点服务器接收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]}));
});
我需要对字符串进行某种类型的转换才能使其正常工作吗?
答案 0 :(得分:1)
rgb
是一个包含逗号分隔值的字符串。您需要解析这些值并将它们放在一个数组中。试试这个:
rgb = rgb.split(',')
.map(function(str) { return parseInt(str, 10); });