JSONWriter

open class JSONWriter

JSONWriter provides a quick and convenient way of producing JSON text. The texts produced strictly conform to JSON syntax rules. No whitespace is added, so the results are ready for transmission or storage. Each instance of JSONWriter can produce one JSON text.

A JSONWriter instance provides a value method for appending values to the text, and a key method for adding keys before values in objects. There are array and endArray methods that make and bound array values, and object and endObject methods which make and bound object values. All of these methods return the JSONWriter instance, permitting a cascade style. For example,

new JSONWriter(myWriter)
    .object()
        .key("JSON")
        .value("Hello, World!")
    .endObject();
which writes
{"JSON":"Hello, World!"}

The first method called must be array or object. There are no methods for adding commas or colons. JSONWriter adds them for you. Objects and arrays can be nested up to 200 levels deep.

This can sometimes be easier than using a JSONObject to build a string.

Author

JSON.org

Constructors

Link copied to clipboard
open fun JSONWriter(w: Appendable)
Make a fresh JSONWriter.

Functions

Link copied to clipboard
open fun array(): JSONWriter
Begin appending a new array.
Link copied to clipboard
open fun endArray(): JSONWriter
End an array.
Link copied to clipboard
open fun endObject(): JSONWriter
End an object.
Link copied to clipboard
open fun key(string: String): JSONWriter
Append a key.
Link copied to clipboard
open fun object(): JSONWriter
Begin appending a new object.
Link copied to clipboard
open fun value(b: Boolean): JSONWriter
Append either the value true or the value false.
open fun value(d: Double): JSONWriter
Append a double value.
open fun value(object: Any): JSONWriter
Append an object value.
open fun value(l: Long): JSONWriter
Append a long value.
Link copied to clipboard
open fun valueToString(value: Any): String
Make a JSON text of an Object value.