2017-01-28 25 views
0

使用節點RED我收到此msg.payload(已經)來匹配嵌套的JSON字符串JSONified:如何使用交換機節點

{ "name": "LightOnIntent", "slots": { "light": { "name": "light", "value": "kitchen" } } } 

在我流的第一開關節點我成功對陣msg.payload.name。第二個交換機應該與插槽的內容一起工作,例如,如果msg.payload.slots包含「light」,則繼續通過1。

我不能讓它與普通的開關節點一起工作。即使使用特定的數組尋址,在msg.payload.slots[0]中尋找「light」也不起作用。我是否需要一個函數節點來查找嵌套元素中的元素?

+0

在函數節點中,我會用'if(「msg.payload.slots中的light」){...}'來處理它。 – PiEnthusiast

回答

1

首先分析你的JSON到你的對象slots.light使用JSON.parse()。然後目標是用object['key']object.key

msg.payload.slots['light'].name;//matches against light 
msg.payload.slots['light'].value;//matches against kitchen 

等效鍵namevalue。訪問鍵的值的對象

msg.payload.slots.light.name;//matches against light 
msg.payload.slots.light.value;//matches against kitchen 
+0

謝謝你的迴應。我知道如何在一個函數中獲取元素及其內容。問題是如果我可以使用** Node-RED **的Switch節點來查找嵌套對象是否包含值。 – PiEnthusiast