net.HTTPClient():request 如何返回一个表格

我在Fibaro Home Centre 2中使用LUA,并想要在net.HTTPClient():request中返回一个表格数组,有人能指导一下吗?

代码示例:

roomsArray = {}

--从Heating Panel获取房间数和它们的名称
local HC2 = net.HTTPClient();
 HC2:request('http://127.0.0.1:11111/api/panels/heating', {
   success = function(resp)
    if resp.status == 200 then
      data = json.decode(resp.data)
      for k, v in pairs(data) do
        table.insert(roomsArray,v.name)
      end
      for k, v in pairs(roomsArray) do fibaro:debug("房间索引:" .. k .. ", 房间名称:" .. v) end -- 这一行可以工作
    else
      fibaro:debug(resp.status)
    end
  end

})

for k, v in pairs(roomsArray) do fibaro:debug("房间索引:" .. k .. ", 房间名称:" .. v) end -- 这一行没有输出任何内容
fibaro:debug(roomsArray[1]) -- 调试输出 "nil"
点赞
用户8389011
用户8389011

你可以使用

HC2:Get和HC2:PUT
response = HC2:GET("api/panels/heating")

HC2:PUT("api/panels/heating", response)

来进行操作。

2017-07-30 10:26:05