對於可選的json字段,應該怎麼處理呢?
Lua中使用cjson進行json解析,如果取的某個字段不存在時,會返回nil,所以如果返回是nil,就給默認值,非nil就直接賦獲取到的值。
代碼示例:
#!/usr/bin/lua
local cjson = require "cjson"
local data = {}
--local response = "{\"opt\":\"1\",\"auth_mode\":\"4\",\"account\":\"15067191032\"}"
local response = "{\"opt\":\"1\"}"
data=cjson.decode(response)
local op = data["opt"]
local auth_mode = (data["auth_mode"] == nil and 0 or data["auth_mode"])
local account = (data["account"] == nil and "N/A" or data["account"])
print("op : " ..op.. ", auth_mode : " ..auth_mode.. ", account : " ..account)