对于可选的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)