Files
2025-03-31 13:19:47 +02:00

36 lines
944 B
Lua

-- Copyright (c) 2018, Souche Inc.
local Constant = require "pretty.json.constant"
local Serializer = require "pretty.json.serializer"
local Parser = require "pretty.json.parser"
local json = {
_VERSION = "0.1",
null = Constant.NULL
}
function json.stringify(obj, replacer, space, print_address)
if type(space) ~= "number" then space = 0 end
return Serializer({
print_address = print_address,
stream = {
fragments = {},
write = function(self, ...)
for i = 1, #{...} do
self.fragments[#self.fragments + 1] = ({...})[i]
end
end,
toString = function(self)
return table.concat(self.fragments)
end
}
}):json(obj, replacer, space, space):toString()
end
function json.parse(str, without_null)
return Parser({ without_null = without_null }):json(str, 1)
end
return json