openresty 前端开发入门三之JSON篇

时间:2023-03-09 00:38:28
openresty 前端开发入门三之JSON篇

这章主要介绍一下,lua怎么返回一个json字符串,怎么把一个table转成json字符串,又怎么把一个json字符串转成json

其实很简答,直接使用cjson库的encode、decode方法即可

lua/hello.lua

local cjson = require "cjson"

-- 先定义一个json字符串
local json_str = '{"name": "Bruce.Lin", "age": 25}'
-- 这里把它转成对象,然后输出属性
local json = cjson.decode(json_str)
ngx.say("Name = " .. json['name'] .. ", Age = " .. tostring(json['age'])) -- 这里需要把25转成字符串,才能进行字符串拼接 -- 输出 Name = Bruce.Lin, Age = 25 ngx.say('<br/>') -- 换行 -- 接下来我们再把json对象转成json字符串
local json_str2 = cjson.encode(json)
ngx.say(json_str2) -- 输出{"name":"Bruce.Lin","age":25} ngx.say('<br/>') -- 换行 local obj = {
ret = 200,
msg = "login success"
} ngx.say(cjson.encode(obj)) ngx.say('<br/>') -- 换行 local obj2 = {} obj2['ret'] = 200
obj2['msg'] = "login fails" ngx.say(cjson.encode(obj2))

ok,这里我们就学会的json字符串

示例代码 参见demo3部分