获取nginx lua插件中的json数据

以下是一个使用ngx_lua模块的示例代码,用于获取nginx lua插件中http接口返回的json数据中的username值:

local http = require "resty.http"
local cjson = require "cjson.safe"

local httpc = http.new()
local res, err = httpc:request_uri("<http://example.com/api>", {
    method = "GET",
    headers = {
        ["Content-Type"] = "application/json",
    }
})

if not res then
    ngx.log(ngx.ERR, "failed to request: ", err)
    ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
end

if res.status ~= ngx.HTTP_OK then
    ngx.log(ngx.ERR, "request failed with status ", res.status)
    ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
end

local data = cjson.decode(res.body)
local username = data.username

ngx.say(username)

注意:这个示例代码假设http接口返回的json数据中确实包含了一个名为username的字段,如果不是这个字段,请将代码中的username改为实际的字段名称。

以下是一个使用ngx_lua模块的示例代码,用于获取nginx lua插件中http接口返回的json数据中的username值: local http = require "resty.http" local cjson = require "cjson.safe" local httpc = http.new() local res, err = httpc:request_uri(" ", { method = "GET", headers = { ["Content-Type"] = "application/json", } }) if not res then ngx.log(ngx.ERR, "failed to request: ", err) ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR) end if res.status ~= ngx.HTTP_OK then ngx.log(ngx.ERR, "request failed with status ", res.status) ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR) end local data = cjson.decode(res.body) local username = data.username ngx.say(username) 注意:这个示例代码假设http接口返回的json数据中确实包含了一个名为username的字段,如果不是这个字段,请将代码中的username改为实际的字段名称。
经验分享 程序员 微信小程序 职场和发展