openresty 前端开发入门三之JSON篇

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 = 25ngx.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'] = 200obj2['msg'] = "login fails"ngx.say(cjson.encode(obj2))

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

示例代码 参见demo3部分

推荐阅读