Lua redis 调用 zrange 返回字符串

我在 redis 中有一个 keyname 为 hotels 的 json 格式的数据,当我尝试在循环中获取细节时,它返回字符串,因此我无法检查例如 hotel.address)

local ks=redis.call('ZRANGE', 'hotels', '0', '-1')
local counter = 0
local hotels = {}
for _, hotel in ipairs(ks) do
    hotels[counter] = hotel
    counter = counter + 1
   -- 无法像if(hotel.address == 'something')那样进行控制,因为它是字符串,不想处理字符串比较
end

我尝试使用 cjson.encode(hotels),但仍然无法使用 .address 或 ["address"] 访问对象项(也不能使用第三方库在 redis.eval 中进行工作)。如何在 lua 文件中正确使用 json 并控制其中的数据

谢谢。

点赞