lua解析json字符串
·
在linux下安装lua
curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz
tar zxf lua-5.3.0.tar.gz
cd lua-5.3.0
make linux test
make install
cjson编译
- Lua CJSON 是 Lua 语言提供高性能的 JSON 解析器和编码器,其性能比纯 Lua 库要高 10 到 20 倍。Lua CJSON 完全支持 UTF-8 ,无需依赖其他非 Lua/LuaJIT 的相关包。
wget http://www.kyne.com.au/~mark/software/download/lua-cjson-2.1.0.tar.gz
tar -zxf lua-cjson-2.1.0.tar.gz
cd lua-cjson-2.1.0
make all
- 将cjson库加到lua库目录
cp cjson.so /usr/local/lib/lua/5.3
chmod 755 /usr/local/lib/lua/5.3/cjson.so
lua解析json字符串
案例一:
- ipairs 用于遍历数组的迭代器函数, pairs 用于遍历table的迭代器函数
> cjson = require "cjson"
> json = cjson.new()
> json_text = '{"foo":"bar"}'
> value = json.decode(json_text)
> for k,v in pairs(value) do print("json",k,v) end
json foo bar
> list = {foo="bar"}
> return json.encode(list)
{"foo":"bar"}
案例二:
- test.json
{
"str":"hello world",
"configs":[
{
"user":"ubuntu",
"password":"123456",
"ip":"192.168.1.12"
},
{
"user":"ubuntu1",
"password":"45678",
"ip":"192.168.1.23"
}
]
}
- test.lua
#! /usr/local/bin/lua
function FileRead()
local file = io.open("test.json","r")
//*a表示从当前位置获取文件内容
local json = file:read("*a")
file:close()
return json
end
local cjson = require "cjson"
local file = FileRead()
local json = cjson.decode(file)
for i,w in ipairs(json.configs)
do
//两个点是字符串连接符
print("user:"..w.user)
print("password:"..w.password)
end
print("str:"..json.str)
案例三:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)