The yason Reference Manual

This is the yason Reference Manual, version 0.8.3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 18:19:22 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 yason

JSON parser/encoder

Author

Hans Huebner <>

License

BSD

Long Description

YASON is a Common Lisp library for encoding and
decoding data in the JSON interchange format. JSON is used as a lightweight alternative to XML. YASON has the sole purpose of encoding and decoding data and does not impose any object model on the Common Lisp application that uses it.

Version

0.8.3

Dependencies
  • alexandria (system).
  • trivial-gray-streams (system).
Source

yason.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 yason/yason.asd

Source

yason.asd.

Parent Component

yason (system).

ASDF Systems

yason.

Packages

yason.system.


3.1.2 yason/package.lisp

Source

yason.asd.

Parent Component

yason (system).

Packages

yason.


3.1.3 yason/encode.lisp

Dependency

package.lisp (file).

Source

yason.asd.

Parent Component

yason (system).

Public Interface
Internals

3.1.4 yason/parse.lisp

Dependency

package.lisp (file).

Source

yason.asd.

Parent Component

yason (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 yason

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

4.2 yason.system

Source

yason.asd.

Use List
  • asdf/interface.
  • common-lisp.

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *list-encoder*

The actual function used to encode a LIST.
Can be changed to encode ALISTs or PLISTs as dictionaries by setting it to ENCODE-ALIST or ENCODE-PLIST.

Package

yason.

Source

encode.lisp.

Special Variable: *parse-json-arrays-as-vectors*

If set to a true value, JSON arrays will be parsed as vectors, not as lists.

Package

yason.

Source

parse.lisp.

Special Variable: *parse-json-booleans-as-symbols*

If set to a true value, JSON booleans will be read as the symbols TRUE and FALSE, not as T and NIL, respectively. The actual symbols can be customized via the TRUE and FALSE special variables.

Package

yason.

Source

parse.lisp.

Special Variable: *parse-json-null-as-keyword*

If set to a true value, JSON nulls will be read as the keyword :NULL, not as NIL.

Package

yason.

Source

parse.lisp.

Special Variable: *parse-object-as*

Set to either :hash-table, :plist or :alist to determine the data structure that objects are parsed to.

Package

yason.

Source

parse.lisp.

Special Variable: *parse-object-as-alist*

DEPRECATED, provided for backward compatibility

Package

yason.

Source

parse.lisp.

Special Variable: *parse-object-key-fn*

Function to call to convert a key string in a JSON array to a key in the CL hash produced.

Package

yason.

Source

parse.lisp.

Special Variable: *symbol-encoder*

The actual function used to encode a SYMBOL. You might want ENCODE-SYMBOL-AS-LOWERCASE or ENCODE-SYMBOL-AS-STRING here.

Package

yason.

Source

encode.lisp.

Special Variable: *symbol-key-encoder*

The actual function used to encode a SYMBOL when seen as a key.
You might want ENCODE-SYMBOL-AS-LOWERCASE or
ENCODE-SYMBOL-AS-STRING here.
The function returns just a string - the quotes are added when writing the key.

Package

yason.

Source

encode.lisp.

Special Variable: false

Symbol representing the JSON value false.

Package

yason.

Source

parse.lisp.

Special Variable: true

Symbol representing the JSON value true.

Package

yason.

Source

parse.lisp.


5.1.2 Macros

Macro: with-array (() &body body)

Open a JSON array, then run BODY. Inside the body, ENCODE-ARRAY-ELEMENT or nested WITH-ARRAY resp. WITH-OBJECT must be used to encode elements to the opened array. Must be called within an existing JSON encoder context, see WITH-OUTPUT and WITH-OUTPUT-TO-STRING*.

Package

yason.

Source

encode.lisp.

Macro: with-object (() &body body)

Open a JSON object, then run BODY. Inside the body, ENCODE-OBJECT-ELEMENT or WITH-OBJECT-ELEMENT must be called to encode elements to the object. Must be called within an existing JSON encoder context, see WITH-OUTPUT and WITH-OUTPUT-TO-STRING*.

Package

yason.

Source

encode.lisp.

Macro: with-object-element ((key) &body body)

Open a new encoding context to encode a JSON object element. KEY is the key of the element. The value will be whatever BODY serializes to the current JSON output context using one of the stream encoding functions. This can be used to stream out nested object structures.

Package

yason.

Source

encode.lisp.

Macro: with-output ((stream &rest args &key indent) &body body)

Set up a JSON streaming encoder context on STREAM, then evaluate BODY.

Package

yason.

Source

encode.lisp.

Macro: with-output-to-string* ((&rest args &key indent stream-symbol) &body body)

Set up a JSON streaming encoder context, then evaluate BODY. Return a string with the generated JSON output.

Package

yason.

Source

encode.lisp.


5.1.3 Compiler macros

Compiler Macro: encode-object-slots (object raw-slots &key lowercase-keys?)

Compiler macro to allow open-coding with ENCODE-OBJECT-SLOTS when slots are a literal list.

Package

yason.

Source

encode.lisp.


5.1.4 Ordinary functions

Function: encode-alist (object &optional stream)
Package

yason.

Source

encode.lisp.

Function: encode-array-element (object)

Encode OBJECT as next array element to the last JSON array opened with WITH-ARRAY in the dynamic context. OBJECT is encoded using the ENCODE generic function, so it must be of a type for which an ENCODE method is defined.

Package

yason.

Source

encode.lisp.

Function: encode-array-elements (&rest objects)

Encode OBJECTS, a list of JSON encodable objects, as array elements.

Package

yason.

Source

encode.lisp.

Function: encode-object-element (key value)

Encode KEY and VALUE as object element to the last JSON object opened with WITH-OBJECT in the dynamic context. KEY and VALUE are encoded using the ENCODE generic function, so they both must be of a type for which an ENCODE method is defined.

Package

yason.

Source

encode.lisp.

Function: encode-object-elements (&rest elements)

Encode plist ELEMENTS as object elements.

Package

yason.

Source

encode.lisp.

Function: encode-object-slots (object slots &key lowercase-keys?)

For each slot in SLOTS, encode that slot on OBJECT as an object element. Equivalent to calling ENCODE-OBJECT-ELEMENT for each slot where the key is the slot name, and the value is the (SLOT-VALUE OBJECT slot). LOWERCASE-KEYS? says whether the key should be in lowercase.

Package

yason.

Source

encode.lisp.

Function: encode-plain-list-to-array (object stream)
Package

yason.

Source

encode.lisp.

Function: encode-plist (object &optional stream)
Package

yason.

Source

encode.lisp.

Function: encode-symbol-as-lowercase (key)

Encodes a symbol KEY as a lowercase string.
Ensure that there’s no intentional lower-case character lost.

Package

yason.

Source

encode.lisp.

Function: encode-symbol-as-string (sym &optional prefix)

Encodes a symbol SYM as string PACKAGE:SYMBOL-NAME. Always prints a double colon, as exportedness might not make sense for the receiver;
this way reading the input in again is consistent. Preserves case.
Breaks if the package name includes colons.

Package

yason.

Source

encode.lisp.

Function: parse (input &key object-key-fn object-as json-arrays-as-vectors json-booleans-as-symbols json-nulls-as-keyword)

Parse INPUT, which needs to be a string or a stream, as JSON. Returns the lisp representation of the JSON structure parsed. The keyword arguments can be used to override the parser settings as defined by the respective special variables.

Package

yason.

Source

parse.lisp.


5.1.5 Generic functions

Generic Function: encode (object &optional stream)

Encode OBJECT to STREAM in JSON format. May be
specialized by applications to perform specific rendering. STREAM must be a JSON-OUTPUT-STREAM; you can get one via MAKE-JSON-OUTPUT-STREAM, WITH-OUTPUT, or WITH-OUTPUT-TO-STRING*.

Package

yason.

Source

encode.lisp.

Methods
Method: encode ((object (eql nil)) &optional stream)
Method: encode ((object (eql t)) &optional stream)
Method: encode ((object (eql :null)) &optional stream)
Method: encode ((object (eql yason:false)) &optional stream)
Method: encode ((object (eql yason:true)) &optional stream)
Method: encode ((object symbol) &optional stream)
Method: encode ((object list) &optional stream)
Method: encode ((object vector) &optional stream)
Method: encode ((object hash-table) &optional stream)
Method: encode ((object integer) &optional stream)
Method: encode ((object float) &optional stream)
Method: encode ((object ratio) &optional stream)
Method: encode ((raw raw-json-output) &optional stream)
Method: encode ((string string) &optional stream)
Generic Function: encode-object (object)

Generic function to encode an object. The default implementation opens a new object encoding context and calls ENCODE-SLOTS on the argument.

Package

yason.

Source

encode.lisp.

Methods
Method: encode-object (object)
Generic Function: encode-slots (object)

Generic function to encode object slots. It should be called in an object encoding context. It uses PROGN combination with MOST-SPECIFIC-LAST order, so that base class slots are encoded before derived class slots.

Package

yason.

Source

encode.lisp.

Method Combination

progn.

Options

:most-specific-last

Generic Function: make-json-output-stream (stream &key indent)
Package

yason.

Source

encode.lisp.

Methods
Method: make-json-output-stream (stream &key indent)

Create a JSON output stream with indentation enabled.


5.1.6 Standalone methods

Method: initialize-instance :after ((stream json-output-stream) &key indent)
Source

encode.lisp.

Method: stream-write-char ((stream json-output-stream) char)
Package

sb-gray.

Source

encode.lisp.


5.1.7 Conditions

Condition: no-json-output-context

This condition is signalled when one of the stream encoding function is used outside the dynamic context of a WITH-OUTPUT or WITH-OUTPUT-TO-STRING* body.

Package

yason.

Source

encode.lisp.

Direct superclasses

error.


5.2 Internals


5.2.1 Constants

Constant: +default-string-length+

Default length of strings that are created while reading json input.

Package

yason.

Source

parse.lisp.

Constant: +initial-array-size+

Initial size of JSON arrays read, they will grow as needed.

Package

yason.

Source

parse.lisp.


5.2.2 Special variables

Special Variable: *char-replacements*
Package

yason.

Source

encode.lisp.

Special Variable: *default-indent*

Set to T or an numeric indentation width in order to have YASON indent its output by default.

Package

yason.

Source

encode.lisp.

Special Variable: *default-indent-width*

Default indentation width for output if indentation is selected with no indentation width specified.

Package

yason.

Source

encode.lisp.

Special Variable: *json-output*
Package

yason.

Source

encode.lisp.


5.2.3 Macros

Macro: with-aggregate/object ((stream opening-char closing-char) &body body)

Set up serialization context for aggregate serialization with the object encoder.

Package

yason.

Source

encode.lisp.

Macro: with-aggregate/stream ((begin-char end-char) &body body)

Set up context for aggregate serialization for the stream encoder.

Package

yason.

Source

encode.lisp.


5.2.4 Ordinary functions

Function: %parse-array (input add-element-function)

Parse JSON array from input, calling ADD-ELEMENT-FUNCTION for each array element parsed.

Package

yason.

Source

parse.lisp.

Function: add-attribute (to key value)
Package

yason.

Source

parse.lisp.

Function: copy-raw-json-output (instance)
Package

yason.

Source

encode.lisp.

Function: create-container (ht)
Package

yason.

Source

parse.lisp.

Function: encode-assoc-key/value (key value stream)
Package

yason.

Source

encode.lisp.

Function: encode-key/value (key value stream)
Package

yason.

Source

encode.lisp.

Function: encode-symbol-error (key)
Package

yason.

Source

encode.lisp.

Function: encode-symbol-key-error (key)
Package

yason.

Source

encode.lisp.

Function: escape-string-to-stream (string stream)
Package

yason.

Source

encode.lisp.

Function: make-adjustable-string ()

Return an adjustable empty string, usable as a buffer for parsing strings and numbers.

Package

yason.

Source

parse.lisp.

Function: make-raw-json-output (stg)
Package

yason.

Source

encode.lisp.

Function: next-aggregate-element ()
Package

yason.

Source

encode.lisp.

Function: parse-array (input)
Package

yason.

Source

parse.lisp.

Function: parse-constant (input)
Package

yason.

Source

parse.lisp.

Function: parse-number (input)
Package

yason.

Source

parse.lisp.

Function: parse-object (input)
Package

yason.

Source

parse.lisp.

Function: parse-string (input)
Package

yason.

Source

parse.lisp.

Function: parse-unicode-escape (input)
Package

yason.

Source

parse.lisp.

Function: peek-char-skipping-whitespace (input &optional eof-error-p)
Package

yason.

Source

parse.lisp.

Function: raw-json-output-p (object)
Package

yason.

Source

encode.lisp.

Reader: raw-json-output-stg (instance)
Writer: (setf raw-json-output-stg) (instance)
Package

yason.

Source

encode.lisp.

Target Slot

stg.

Function: skip-whitespace (input)
Package

yason.

Source

parse.lisp.

Function: unicode-char (code)
Package

yason.

Source

encode.lisp.

Function: unicode-code (char)
Package

yason.

Source

encode.lisp.

Function: whitespace-p (char)
Package

yason.

Source

parse.lisp.

Function: write-surrogate-pair-escape (code stream)
Package

yason.

Source

encode.lisp.


5.2.5 Generic functions

Generic Function: change-indentation (stream increment)
Package

yason.

Source

encode.lisp.

Methods
Method: change-indentation (stream operator)
Method: change-indentation ((stream json-output-stream) increment)
Generic Reader: indent (object)
Package

yason.

Methods
Reader Method: indent ((json-output-stream json-output-stream))

automatically generated reader method

Source

encode.lisp.

Target Slot

indent.

Generic Reader: indent% (object)
Package

yason.

Methods
Reader Method: indent% ((json-output-stream json-output-stream))

automatically generated reader method

Source

encode.lisp.

Target Slot

indent.

Generic Writer: (setf indent%) (object)
Package

yason.

Methods
Writer Method: (setf indent%) ((json-output-stream json-output-stream))

automatically generated writer method

Source

encode.lisp.

Target Slot

indent.

Generic Reader: indent-depth (object)
Package

yason.

Methods
Reader Method: indent-depth ((json-output-stream json-output-stream))

automatically generated reader method

Source

encode.lisp.

Target Slot

indent-depth.

Generic Writer: (setf indent-depth) (object)
Package

yason.

Methods
Writer Method: (setf indent-depth) ((json-output-stream json-output-stream))

automatically generated writer method

Source

encode.lisp.

Target Slot

indent-depth.

Generic Reader: key-string (condition)
Package

yason.

Methods
Reader Method: key-string ((condition expected-colon))
Source

parse.lisp.

Target Slot

key-string.

Reader Method: key-string ((condition duplicate-key))
Source

parse.lisp.

Target Slot

key-string.

Reader Method: key-string ((condition cannot-convert-key))
Source

parse.lisp.

Target Slot

key-string.

Generic Reader: output-stream (object)
Package

yason.

Methods
Reader Method: output-stream ((json-output-stream json-output-stream))

automatically generated reader method

Source

encode.lisp.

Target Slot

output-stream.

Generic Function: parse% (input)
Package

yason.

Source

parse.lisp.

Methods
Method: parse% ((input stream))
Method: parse% ((input pathname))
Method: parse% ((input string))
Generic Reader: stack (object)
Package

yason.

Methods
Reader Method: stack ((json-output-stream json-output-stream))

automatically generated reader method

Source

encode.lisp.

Target Slot

stack.

Generic Writer: (setf stack) (object)
Package

yason.

Methods
Writer Method: (setf stack) ((json-output-stream json-output-stream))

automatically generated writer method

Source

encode.lisp.

Target Slot

stack.

Generic Function: write-delimiter (char stream)
Package

yason.

Source

encode.lisp.

Methods
Method: write-delimiter (char stream)
Method: write-delimiter (char (stream json-output-stream))
Generic Function: write-indentation (stream)
Package

yason.

Source

encode.lisp.

Methods
Method: write-indentation (stream)
Method: write-indentation ((stream json-output-stream))

5.2.6 Conditions

Condition: cannot-convert-key
Package

yason.

Source

parse.lisp.

Direct superclasses

error.

Direct methods

key-string.

Direct slots
Slot: key-string
Initargs

:key-string

Readers

key-string.

Writers

This slot is read-only.

Condition: duplicate-key
Package

yason.

Source

parse.lisp.

Direct superclasses

error.

Direct methods

key-string.

Direct slots
Slot: key-string
Initargs

:key-string

Readers

key-string.

Writers

This slot is read-only.

Condition: expected-colon
Package

yason.

Source

parse.lisp.

Direct superclasses

error.

Direct methods

key-string.

Direct slots
Slot: key-string
Initargs

:key-string

Readers

key-string.

Writers

This slot is read-only.


5.2.7 Structures

Structure: raw-json-output

Escape mechanism to allow more intricate JSON exports. (MAKE-RAW-JSON-OUTPUT X)
causes the string X to be written to the JSON output verbatim, ie. without any encoding.
(Bad) example:
(yason:encode (vector 1 2 (make-raw-json-output "{}")

Package

yason.

Source

encode.lisp.

Direct superclasses

structure-object.

Direct methods

encode.

Direct slots
Slot: stg
Type

string

Readers

raw-json-output-stg.

Writers

(setf raw-json-output-stg).


5.2.8 Classes

Class: json-output-stream

Objects of this class capture the state of a JSON stream encoder.

Package

yason.

Source

encode.lisp.

Direct superclasses

fundamental-character-output-stream.

Direct methods
Direct Default Initargs
InitargValue
:indent*default-indent*
Direct slots
Slot: output-stream
Initargs

:output-stream

Readers

output-stream.

Writers

This slot is read-only.

Slot: stack
Readers

stack.

Writers

(setf stack).

Slot: indent-depth
Initform

0

Readers

indent-depth.

Writers

(setf indent-depth).

Slot: indent
Initargs

:indent

Readers
Writers

(setf indent%).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   C   E   F   G   I   K   M   N   O   P   R   S   U   W  
Index Entry  Section

%
%parse-array: Private ordinary functions

(
(setf indent%): Private generic functions
(setf indent%): Private generic functions
(setf indent-depth): Private generic functions
(setf indent-depth): Private generic functions
(setf raw-json-output-stg): Private ordinary functions
(setf stack): Private generic functions
(setf stack): Private generic functions

A
add-attribute: Private ordinary functions

C
change-indentation: Private generic functions
change-indentation: Private generic functions
change-indentation: Private generic functions
Compiler Macro, encode-object-slots: Public compiler macros
copy-raw-json-output: Private ordinary functions
create-container: Private ordinary functions

E
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode: Public generic functions
encode-alist: Public ordinary functions
encode-array-element: Public ordinary functions
encode-array-elements: Public ordinary functions
encode-assoc-key/value: Private ordinary functions
encode-key/value: Private ordinary functions
encode-object: Public generic functions
encode-object: Public generic functions
encode-object-element: Public ordinary functions
encode-object-elements: Public ordinary functions
encode-object-slots: Public compiler macros
encode-object-slots: Public ordinary functions
encode-plain-list-to-array: Public ordinary functions
encode-plist: Public ordinary functions
encode-slots: Public generic functions
encode-symbol-as-lowercase: Public ordinary functions
encode-symbol-as-string: Public ordinary functions
encode-symbol-error: Private ordinary functions
encode-symbol-key-error: Private ordinary functions
escape-string-to-stream: Private ordinary functions

F
Function, %parse-array: Private ordinary functions
Function, (setf raw-json-output-stg): Private ordinary functions
Function, add-attribute: Private ordinary functions
Function, copy-raw-json-output: Private ordinary functions
Function, create-container: Private ordinary functions
Function, encode-alist: Public ordinary functions
Function, encode-array-element: Public ordinary functions
Function, encode-array-elements: Public ordinary functions
Function, encode-assoc-key/value: Private ordinary functions
Function, encode-key/value: Private ordinary functions
Function, encode-object-element: Public ordinary functions
Function, encode-object-elements: Public ordinary functions
Function, encode-object-slots: Public ordinary functions
Function, encode-plain-list-to-array: Public ordinary functions
Function, encode-plist: Public ordinary functions
Function, encode-symbol-as-lowercase: Public ordinary functions
Function, encode-symbol-as-string: Public ordinary functions
Function, encode-symbol-error: Private ordinary functions
Function, encode-symbol-key-error: Private ordinary functions
Function, escape-string-to-stream: Private ordinary functions
Function, make-adjustable-string: Private ordinary functions
Function, make-raw-json-output: Private ordinary functions
Function, next-aggregate-element: Private ordinary functions
Function, parse: Public ordinary functions
Function, parse-array: Private ordinary functions
Function, parse-constant: Private ordinary functions
Function, parse-number: Private ordinary functions
Function, parse-object: Private ordinary functions
Function, parse-string: Private ordinary functions
Function, parse-unicode-escape: Private ordinary functions
Function, peek-char-skipping-whitespace: Private ordinary functions
Function, raw-json-output-p: Private ordinary functions
Function, raw-json-output-stg: Private ordinary functions
Function, skip-whitespace: Private ordinary functions
Function, unicode-char: Private ordinary functions
Function, unicode-code: Private ordinary functions
Function, whitespace-p: Private ordinary functions
Function, write-surrogate-pair-escape: Private ordinary functions

G
Generic Function, (setf indent%): Private generic functions
Generic Function, (setf indent-depth): Private generic functions
Generic Function, (setf stack): Private generic functions
Generic Function, change-indentation: Private generic functions
Generic Function, encode: Public generic functions
Generic Function, encode-object: Public generic functions
Generic Function, encode-slots: Public generic functions
Generic Function, indent: Private generic functions
Generic Function, indent%: Private generic functions
Generic Function, indent-depth: Private generic functions
Generic Function, key-string: Private generic functions
Generic Function, make-json-output-stream: Public generic functions
Generic Function, output-stream: Private generic functions
Generic Function, parse%: Private generic functions
Generic Function, stack: Private generic functions
Generic Function, write-delimiter: Private generic functions
Generic Function, write-indentation: Private generic functions

I
indent: Private generic functions
indent: Private generic functions
indent%: Private generic functions
indent%: Private generic functions
indent-depth: Private generic functions
indent-depth: Private generic functions
initialize-instance: Public standalone methods

K
key-string: Private generic functions
key-string: Private generic functions
key-string: Private generic functions
key-string: Private generic functions

M
Macro, with-aggregate/object: Private macros
Macro, with-aggregate/stream: Private macros
Macro, with-array: Public macros
Macro, with-object: Public macros
Macro, with-object-element: Public macros
Macro, with-output: Public macros
Macro, with-output-to-string*: Public macros
make-adjustable-string: Private ordinary functions
make-json-output-stream: Public generic functions
make-json-output-stream: Public generic functions
make-raw-json-output: Private ordinary functions
Method, (setf indent%): Private generic functions
Method, (setf indent-depth): Private generic functions
Method, (setf stack): Private generic functions
Method, change-indentation: Private generic functions
Method, change-indentation: Private generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode: Public generic functions
Method, encode-object: Public generic functions
Method, indent: Private generic functions
Method, indent%: Private generic functions
Method, indent-depth: Private generic functions
Method, initialize-instance: Public standalone methods
Method, key-string: Private generic functions
Method, key-string: Private generic functions
Method, key-string: Private generic functions
Method, make-json-output-stream: Public generic functions
Method, output-stream: Private generic functions
Method, parse%: Private generic functions
Method, parse%: Private generic functions
Method, parse%: Private generic functions
Method, stack: Private generic functions
Method, stream-write-char: Public standalone methods
Method, write-delimiter: Private generic functions
Method, write-delimiter: Private generic functions
Method, write-indentation: Private generic functions
Method, write-indentation: Private generic functions

N
next-aggregate-element: Private ordinary functions

O
output-stream: Private generic functions
output-stream: Private generic functions

P
parse: Public ordinary functions
parse%: Private generic functions
parse%: Private generic functions
parse%: Private generic functions
parse%: Private generic functions
parse-array: Private ordinary functions
parse-constant: Private ordinary functions
parse-number: Private ordinary functions
parse-object: Private ordinary functions
parse-string: Private ordinary functions
parse-unicode-escape: Private ordinary functions
peek-char-skipping-whitespace: Private ordinary functions

R
raw-json-output-p: Private ordinary functions
raw-json-output-stg: Private ordinary functions

S
skip-whitespace: Private ordinary functions
stack: Private generic functions
stack: Private generic functions
stream-write-char: Public standalone methods

U
unicode-char: Private ordinary functions
unicode-code: Private ordinary functions

W
whitespace-p: Private ordinary functions
with-aggregate/object: Private macros
with-aggregate/stream: Private macros
with-array: Public macros
with-object: Public macros
with-object-element: Public macros
with-output: Public macros
with-output-to-string*: Public macros
write-delimiter: Private generic functions
write-delimiter: Private generic functions
write-delimiter: Private generic functions
write-indentation: Private generic functions
write-indentation: Private generic functions
write-indentation: Private generic functions
write-surrogate-pair-escape: Private ordinary functions


A.3 Variables

Jump to:   *   +  
C   F   I   K   O   S   T  
Index Entry  Section

*
*char-replacements*: Private special variables
*default-indent*: Private special variables
*default-indent-width*: Private special variables
*json-output*: Private special variables
*list-encoder*: Public special variables
*parse-json-arrays-as-vectors*: Public special variables
*parse-json-booleans-as-symbols*: Public special variables
*parse-json-null-as-keyword*: Public special variables
*parse-object-as*: Public special variables
*parse-object-as-alist*: Public special variables
*parse-object-key-fn*: Public special variables
*symbol-encoder*: Public special variables
*symbol-key-encoder*: Public special variables

+
+default-string-length+: Private constants
+initial-array-size+: Private constants

C
Constant, +default-string-length+: Private constants
Constant, +initial-array-size+: Private constants

F
false: Public special variables

I
indent: Private classes
indent-depth: Private classes

K
key-string: Private conditions
key-string: Private conditions
key-string: Private conditions

O
output-stream: Private classes

S
Slot, indent: Private classes
Slot, indent-depth: Private classes
Slot, key-string: Private conditions
Slot, key-string: Private conditions
Slot, key-string: Private conditions
Slot, output-stream: Private classes
Slot, stack: Private classes
Slot, stg: Private structures
Special Variable, *char-replacements*: Private special variables
Special Variable, *default-indent*: Private special variables
Special Variable, *default-indent-width*: Private special variables
Special Variable, *json-output*: Private special variables
Special Variable, *list-encoder*: Public special variables
Special Variable, *parse-json-arrays-as-vectors*: Public special variables
Special Variable, *parse-json-booleans-as-symbols*: Public special variables
Special Variable, *parse-json-null-as-keyword*: Public special variables
Special Variable, *parse-object-as*: Public special variables
Special Variable, *parse-object-as-alist*: Public special variables
Special Variable, *parse-object-key-fn*: Public special variables
Special Variable, *symbol-encoder*: Public special variables
Special Variable, *symbol-key-encoder*: Public special variables
Special Variable, false: Public special variables
Special Variable, true: Public special variables
stack: Private classes
stg: Private structures

T
true: Public special variables