const classafJson::JsonWriter
sys::Obj afJson::JsonWriter
@Js
(Service) - Writes Fantom objects to JSON, optionally performing pretty printing.
Pretty printing takes more processing than basic printing, but helps debugging.
- convertHook
virtual Obj? convertHook(Obj? val)A simple override hook to alter values before they are written.
By default this just returns the given value.
- make
new make(Obj? options := null)Creates a
JsonWriterwith the default pretty printing options.optionsmay be a map of values or justtrueto enable pretty printing with defaults. Ifnullthen the default is to NOT pretty print.writer := JsonWriter() writer := JsonWriter(true) writer := JsonWriter(["prettyPrint":true, "indent":" "])
- options
Options used for writing.
Defaults to:
["prettyPrint":false, "indent":"\t", "maxWidth":80]
- writeJson
Str writeJson(Obj? obj, Obj? options := null)Convenience for serialising the given Fantom object to JSON.
optionsmay be a map of values or justtrueto enable pretty printing with defaults. Ifnullthen it defaults to the class default.json := jsonWriter.writeJson(jsonObj) json := jsonWriter.writeJson(jsonObj, true) json := jsonWriter.writeJson(jsonObj, ["prettyPrint":true, "indent":" "])
- writeJsonToStream
This writeJsonToStream(Obj? obj, OutStream out, Obj? options := null)Write the given object as JSON to this stream. The obj must be one of the following:
nullBoolNumStrStr:Obj?Obj?[]
optionsmay be a map of values or justtrueto enable pretty printing with defaults.jsonWriter.writeJsonToStream(jsonObj, out) jsonWriter.writeJsonToStream(jsonObj, out, true) jsonWriter.writeJsonToStream(jsonObj, out, ["prettyPrint":true, "indent":" "])