# json::write(n) 1.0.2 json "JSON"

## Name

json::write - JSON generation

## Table Of Contents

## Synopsis

- package require Tcl 8.5
- package require json::write ?1.0.2?

- ::json::write indented
- ::json::write indented flag
- ::json::write aligned
- ::json::write aligned flag
- ::json::write string s
- ::json::write array arg...
- ::json::write object key value...

## Description

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.

## COMMANDS

::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 SF Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.

## Keywords

data exchange, exchange format, javascript, json

## Category

CGI programming

## Copyright

Copyright © 2009-2013 Andreas Kupries <andreas_kupries@sourceforge.net>