Available since v0.4.0
local json = require "json"
json.encode(value)
Encodes a Lua table or value into a JSON-formatted string.
local str = json.encode {foo = "bar"}
print(str)
-- '{"foo": "bar"}'
Supports encoding arrays:
local str = json.encode {"foo", "bar"}
print(str)
-- '["foo", "bar"]'
Encodes an empty array using json.array()
:
local str = json.encode(json.array())
print(str)
-- '[]'
Encodes null
values using json.null
:
local str = json.encode {foo = json.null}
print(str)
-- '{"foo": null}'
json.decode(str)
Decodes a JSON-formatted string into a Lua table or value.
local tbl = json.decode '{"foo": "bar"}'
print(tbl.foo)
-- 'bar'
json
DirectlyCalling the package directly is an alias for json.encode
:
local str = json {
foo = "bar",
nest = {baz = "bil"},
null = json.null,
nums = {1, 2, 3.22},
bools = {true, false},
empty = json.array()
}
print(str)
-- {
-- "foo": "bar",
-- "nest": {
-- "baz": "bil"
-- },
-- "null": null,
-- "nums": [
-- 1,
-- 2,
-- 3.22
-- ],
-- "bools": [
-- true,
-- false
-- ],
-- "empty": []
-- }