2014-01-24 64 views
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]})); 
}); 

是否有某種類型的轉換,我需要做的字符串,使其工作的?

回答

1

rgb是一個包含逗號分隔值的字符串。您需要解析這些值並將它們放入數組中。試試這個:

rgb = rgb.split(',') 
     .map(function(str) { return parseInt(str, 10); }); 
+0

太棒了。非常感謝! – user3147697