LuaRedis调用zrange返回字符串
我在redis上有一个带有keyname hotels的数据,它是json格式的,当我尝试在循环中获取详细信息时,它会返回字符串,这样我就无法检查例如hotel.address) 我尝试了cjson.encode(hotels),但仍然无法使用.address或[“address”]访问对象项(也无法使用第三方库从redis.eval工作)。 如何正确使用json并在lua文件中控制该数据中的数据LuaRedis调用zrange返回字符串,lua,redis,Lua,Redis,我在redis上有一个带有keyname hotels的数据,它是json格式的,当我尝试在循环中获取详细信息时,它会返回字符串,这样我就无法检查例如hotel.address) 我尝试了cjson.encode(hotels),但仍然无法使用.address或[“address”]访问对象项(也无法使用第三方库从redis.eval工作)。 如何正确使用json并在lua文件中控制该数据中的数据 谢谢。您需要的是cjson.decode()而不是encode()。感谢您的快速回复,但是出现了此
谢谢。您需要的是
cjson.decode()
而不是encode()
。感谢您的快速回复,但是出现了此错误。错误参数#1到“decode”(需要字符串,得到表)。Hotels={}(表)无法解码Hotels
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
-- can not control like if(hotel.address == 'something') because of being string and don't want to handle with string comparison
end