LUA如何遍历返回的JSON数据

654 词

作者:糖果

代码如下:

function get_json_key(key)
        if not key then
                return
        end

        local json_var = client:get(key)
        if not json_var then
                return
        end

        local var = json.decode(json_var)
        return var
end

function main()
        local list = get_json_key("temp_xxx_key")
        local tmp_ip = { ip }
        local new_flg = true
        for key, var in pairs(list) do
                if var[1] == ip then
                  new_flg = false
                  break
                end
        end
end

值得注意的一点是,lua的json库不是唯一,有json,cjosn,josnrpc等,本篇使用的标标准的用luarocks安装的json库,不同的库调用方式也是不一样的。

下面是一位网友的问题:
遍历所有的table元素。

fc_info = [{"daytext":"Cloudy"}{"daytext":"Cloudy"}{"daytext":"Cloudy"}]


local data = cjson.decode(sampleJson);


local length = table.getn(fc_info)
for i=1,length do
				say("daytext====="..fc_info[i]["daytext"])
end