==========================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