package require Tcl 8.5
package require json::write ?1.0.3?
::json::write indented flag
::json::write aligned flag
::json::write string s
::json::write array arg...
::json::write object key value...
The json::write package provides a simple Tcl-only library for generation of text in the JSON http://www.json.org/ data exchange format as specified in RFC 4627 http://www.ietf.org/rfc/rfc4627.txt.
- ::json::write indented
This method returns the current state of the indentation setting.
- ::json::write indented flag
This and the method aligned configure the layout of the JSON generated by the package.
If this flag is set (default) the package will break the generated JSON code across lines and indent it according to its inner structure, with each key of an object on a separate line.
If this flag is not set, the whole JSON object will be written on a single line, with minimum spacing between all elements.
- ::json::write aligned
This method returns the current state of the alignment setting.
- ::json::write aligned flag
This and the method indented configure the layout of the JSON generated by the package.
If this flag is set (default) the package ensures that the values for the keys in an object are vertically aligned with each other, for a nice table effect. To make this work this also implies that indented is set as well.
If this flag is not set, the output is formatted as per the value of indented, without trying to align the values for object keys.
- ::json::write string s
This method takes the string s and returns it properly quoted for JSON as its result.
- ::json::write array arg...
This method takes a series of JSON formatted arguments and returns them as a properly formatted JSON array as its result.
- ::json::write object key value...
This method takes a series of key/value arguments, the values already formatted for JSON, and returns them as a properly formatted JSON object as its result, with the keys formatted as JSON strings.
Bugs, Ideas, Feedback
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category json of the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist]. Please also report any ideas for enhancements you may have for either package and/or documentation.
When proposing code changes, please provide unified diffs, i.e the output of diff -u.
Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.
Copyright (c) 2009-2013 Andreas Kupries <firstname.lastname@example.org>