---[[
LuCI JSON-Library

@cstyle	instance
]]
module "luci.json"

---[[
Directly decode a JSON string

@class function
@name decode
@param json JSON-String
@return Lua object
]]

---[[
Direcly encode a Lua object into a JSON string.

@class function
@name encode
@param obj Lua Object
@return JSON string
]]

---[[
Null replacement function

@class function
@name null
@return null
]]

---[[
Create a new JSON-Encoder.

@class	function
@name	Encoder
@param data			Lua-Object to be encoded.
@param buffersize	Blocksize of returned data source.
@param fastescape	Use non-standard escaping (don't escape control chars)
@return JSON-Encoder
]]

---[[
Create an LTN12 source providing the encoded JSON-Data.

@class function
@name Encoder.source
@return LTN12 source
]]

---[[
Create a new JSON-Decoder.

@class	function
@name	Decoder
@param customnull Use luci.json.null instead of nil for decoding null
@return JSON-Decoder
]]

---[[
Create an LTN12 sink from the decoder object which accepts the JSON-Data.

@class function
@name Decoder.sink
@return LTN12 sink
]]

---[[
Get the decoded data packets after the rawdata has been sent to the sink.

@class function
@name Decoder.get
@return Decoded data
]]

---[[
Create a new Active JSON-Decoder.

@class	function
@name	ActiveDecoder
@param   customnull	Use luci.json.null instead of nil for decoding null
@return  Active JSON-Decoder
]]

---[[
Fetches one JSON-object from given source

@class function
@name ActiveDecoder.get
@return Decoded object
]]