lua操作json,mysql,redis等

==========================example for lua json=======================
local cjson = require("cjson")

local str = '["a", "b", "c"]'
local j = cjson.decode(str)
for i,v in ipairs(j) do
print(v)
end

str = '{"A":1, "B":2}'
j = cjson.decode(str)
for k,v in pairs(j) do
print(k..":"..v)
end
j['C']='c'
new_str = cjson.encode(j)
print(new_str)

==========================example for lua mysql=======================
mysql.lua
require "luasql.mysql"
env = assert(luasql.mysql())

conn = assert(env:connect("fsdb","root","123456","127.0.0.1",3306))

conn:execute"SET NAMES utf8"
function rows (connection, sql_statement)
local cursor = assert (connection:execute (sql_statement))
return function ()
return cursor:fetch()
end
end

for did, status in rows(conn ,"SELECT driverid,status from fs_driver_products") do
print(string.format("%s %s",name,email))
end

conn:close()
env:close()

lua操作mysql的库文件

http://luaforge.net/projects/luasql/
支持mysql sqlite oracle(oci)postgres和odbc

lua操作redis的库文件
https://github.com/gitforks/redis-lua

需要依赖luasocket库文件。
http://luaforge.net/projects/luasocket/
此库文件里面有lua对网络的一些操作库,如http smtp ftp redis mime等lua实现。

Lua加载lua文件时,需要设置 package.path
如:package.path = "依赖的lua文件所在的目录,支持正则方式加载" .. package.path
package.path = "../deps/lua/?.lua" .. package.path
Lua加载so动态库,需要设置 package.cpath
package.cpath = "../deps/lua/help.so" .. package.cpath

原文地址:https://www.cnblogs.com/voipman/p/5070938.html