openresty前端開發入門三之JSON篇

路人jia發表於2018-08-23

這章主要介紹一下,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部分


相關文章