JSON Data Formats
Boolean Field
Encode and read a boolean JSON field.
json booleans
JSON booleans map cleanly to Lua booleans, which can drive ordinary branches.
Boolean Field
boolean_field.lua
Replay: real traced execution (multi-file project)
local enabled = true
local state = "off"
if enabled then
state = "on"
end
local json = require("cjson").encode({enabled = enabled, state = state})
local parsedEnabled = require("cjson").decode(json).enabled
print("enabled=" .. tostring(parsedEnabled))
print("state=" .. state)
print("json=" .. json)
local enabled = false
local state = "off"
if enabled then
state = "on"
end
local json = require("cjson").encode({enabled = enabled, state = state})
local parsedEnabled = require("cjson").decode(json).enabled
print("enabled=" .. tostring(parsedEnabled))
print("state=" .. state)
print("json=" .. json)
enabled ← true, state ← off
1local enabled→ true = true --@enabled=false2local state→ off = "off"3if enabled thenstate ← on
2local state = "off"3if enabledtrue then4 state→ on = "on"5endjson ← {"state":"on","enabled":true}, parsedEnabled ← true
5end6local json→ {"state":"on","enabled":true} = require("cjson").encode({enabled = enabledtrue, state = stateon})7local parsedEnabled→ true = require("cjson").decode(json{"state":"on","enabled":true}).enabled8print("enabled=" .. tostring(parsedEnabledtrue))9print("state=" .. stateon)10print("json=" .. json{"state":"on","enabled":true})outputenabled=true state=on json={"state":"on","enabled":true}
enabled ← false, state ← off, json ← {"state":"off","enabled":false}
1local enabled→ false = false2local state→ off = "off"3if enabled then4 state = "on"5end6local json→ {"state":"off","enabled":false} = require("cjson").encode({enabled = enabledfalse, state = stateoff})7local parsedEnabled→ false = require("cjson").decode(json{"state":"off","enabled":false}).enabled8print("enabled=" .. tostring(parsedEnabledfalse))9print("state=" .. stateoff)10print("json=" .. json{"state":"off","enabled":false})outputenabled=false state=off json={"state":"off","enabled":false}