The json-streams Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The json-streams Reference Manual

This is the json-streams Reference Manual, generated automatically by Declt version 2.3 "Robert April" on Tue Jan 09 14:59:29 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

json-streams

json-streams is a Common Lisp library for reading and writing JSON text.

Homepage: https://github.com/rotatef/json-streams

Features

High level interface

Streaming interface for output

Example

(with-json-output (nil :key-encoder #'string-downcase :indent t)
  (with-json-object
    (json-output-member :first-name "John")
    (json-output-member :last-name "Smith")
    (with-json-member :is-alive (json-output-boolean t))
    (json-output-member :age 25)
    (with-json-member :address
      (json-output-alist '((:street-address . "21 2nd Street")
                           (:city . "New York")
                           (:state . "NY")
                           (:postal-code . "10021-3100"))))
    (with-json-member :phone-numbers
      (with-json-array
        (json-output-plist '(:type "home"
                             :number "212 555-1234"))
        (json-output-plist '(:type "office"
                             :number "646 555-4567"))
        (json-output-plist '(:type "mobile"
                             :number "123 456-7890"))))
    (json-output-member :children #())
    (with-json-member :spouse (json-output-null))))
Macro
JSON-STREAMS:WITH-JSON-OUTPUT (&optional target &rest options) &body body

The options are explained under MAKE-JSON-OUTPUT-STREAM. Target must be a character stream or NIL. If target is NIL output is written to a string that is returned, otherwise the values of body is returned.

The following functions and macros can only be used inside the body of WITH-JSON-OUTPUT:

Parsing and writing using an unambigious s-expression notation

The high level interface uses the following datatype mapping:

JSON | Common Lisp -------|------------ true | T false | NIL null | :NULL string | string number | integer, float or ratio array | (:ARRAY ... ) object | (:OBJECT (key . value) ... )

The options are explained under MAKE-JSON-INPUT-STREAM and MAKE-JSON-OUTPUT-STREAM.

Function
JSON-STREAMS:JSON-PARSE source &rest options
=> json, position

Parses a single JSON text from source. The second value is the position where parsing stopped.

Function
JSON-STREAMS:JSON-PARSE-MULTIPLE source &rest options
=> jsons

Parses zero or more JSON texts from source. Returns a list of JSON values.

Function
JSON-STREAMS:JSON-STRINGIFY value &optional target &rest options

Stringifies value into JSON text. If target is not provided or NIL, returns a string with the JSON text. Otherwise target must be a character stream.

Function
JSON-STREAMS:JSON-STRINGIFY-MULTIPLE values &optional target &rest options

Stringifies multiple json values.

The streaming interface

See parse.lisp and stringify.lisp for examples of how to use the streaming interface.

Function
JSON-STREAMS:MAKE-JSON-INPUT-STREAM source &key start end close-stream multiple duplicate-key-check use-ratios max-exponent raw-strings
=> json-input-stream
Function
JSON-STREAMS:MAKE-JSON-OUTPUT-STREAM stream &key close-stream multiple duplicate-key-check indent escape-non-ascii
=> json-input-stream

Common options

Function
JSON-STREAMS:JSON-READ json-input-stream
=> token

Parses JSON text from the underlying stream and returns the next token.

Function
JSON-STREAMS:JSON-WRITE token json-output-stream
=> token

Outputs JSON text to underlying stream based on the given token.

Function
JSON-STREAMS:JSON-CLOSE json-stream &key abort

Closes the json-stream. Applications should always call JSON-CLOSE when finished with a JSON stream. This ensures that all syntax errors are detected. The value of abort is forwarded to CL:CLOSE of the underlying stream (if close-stream was true) and JSON syntax checking is suppressed.

Macro
JSON-STREAMS:WITH-OPEN-JSON-STREAM (var json-stream) &body

Binds var to json-stream, executes body, and ensures that JSON-CLOSE is called on json-stream.

Tokens

The possible tokens for input and output are

After a :BEGIN-OBJECT is returned, JSON-READ will alternate between returning keys and values of the object, until :END-OBJECT is returned instead of a key. Keys are always returned as strings. Values can be anything, except :END-OBJECT, :END-ARRAY and :EOF. Thus some kind of recursive or stack based algorithm is neccearry.

Handling of numbers

While JSON standard doesn't define any limits on the size of numbers, many progamming languages does. This library assumes the limits of JavaScript. In JavaScript there is only one number type, a 64-bit IEEE 754 double precision float. This has the following implications:

The syntax doesn't matter: 20, 20.0 or 2e1 are all the same number, the integer 20.

The integer range is +/- (expt 10 53). Numbers outside this range can't be represented accurately. This library will refuse to write an integer outside this range. If you need to output such large numbers, convert them to double-float or string.

At input the handling of numbers outside the integer range depends on syntax. If the number contains a decimal point or an exponent it will be returned as a double-float. Otherwise an error will be signalled. The option :USE-RATIOS disables this check.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 json-streams

Author

Thomas Bakketun <thomas.bakketun@copyleft.no>

License

GNU General Public Licence 3.0

Description

A stream based JSON parser/writer, well suited for higher as building block for higher level libraries.

Source

json-streams.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 json-streams.asd

Location

json-streams.asd

Systems

json-streams (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 json-streams/package.lisp

Parent

json-streams (system)

Location

package.lisp

Packages

json-streams


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 json-streams/write-float.lisp

Dependency

package.lisp (file)

Parent

json-streams (system)

Location

write-float.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 json-streams/base.lisp

Dependency

write-float.lisp (file)

Parent

json-streams (system)

Location

base.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 json-streams/output-stream.lisp

Dependency

base.lisp (file)

Parent

json-streams (system)

Location

output-stream.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 json-streams/input-stream.lisp

Dependency

output-stream.lisp (file)

Parent

json-streams (system)

Location

input-stream.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 json-streams/parse.lisp

Dependency

input-stream.lisp (file)

Parent

json-streams (system)

Location

parse.lisp

Exported Definitions
Internal Definitions

parse-single (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.8 json-streams/output.lisp

Dependency

parse.lisp (file)

Parent

json-streams (system)

Location

output.lisp

Exported Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.9 json-streams/stringify.lisp

Dependency

output.lisp (file)

Parent

json-streams (system)

Location

stringify.lisp

Exported Definitions
Internal Definitions

json-stringify-single (function)


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 json-streams

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Macros

Macro: with-json-array &body BODY
Package

json-streams

Source

output.lisp (file)

Macro: with-json-member KEY &body BODY
Package

json-streams

Source

output.lisp (file)

Macro: with-json-object &body BODY
Package

json-streams

Source

output.lisp (file)

Macro: with-json-output (&optional TARGET &rest OPTIONS) &body BODY
Package

json-streams

Source

output.lisp (file)

Macro: with-open-json-stream (VAR STREAM) &body BODY
Package

json-streams

Source

base.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: call-with-json-output TARGET OPTIONS FUNCTION
Package

json-streams

Source

output.lisp (file)

Function: json-close JSON-STREAM &key ABORT
Package

json-streams

Source

base.lisp (file)

Function: json-output-alist ALIST
Package

json-streams

Source

output.lisp (file)

Function: json-output-boolean VALUE
Package

json-streams

Source

output.lisp (file)

Function: json-output-member KEY VALUE
Package

json-streams

Source

output.lisp (file)

Function: json-output-null ()
Package

json-streams

Source

output.lisp (file)

Function: json-output-plist PLIST
Package

json-streams

Source

output.lisp (file)

Function: json-output-value VALUE
Package

json-streams

Source

output.lisp (file)

Function: json-parse SOURCE &rest OPTIONS
Package

json-streams

Source

parse.lisp (file)

Function: json-parse-multiple SOURCE &rest OPTIONS
Package

json-streams

Source

parse.lisp (file)

Function: json-read JSON-INPUT-STREAM
Package

json-streams

Source

input-stream.lisp (file)

Function: json-stringify VALUE &optional TARGET &rest OPTIONS
Package

json-streams

Source

stringify.lisp (file)

Function: json-stringify-multiple VALUE &optional TARGET &rest OPTIONS
Package

json-streams

Source

stringify.lisp (file)

Function: json-write TOKEN *JSON-STREAM*
Package

json-streams

Source

output-stream.lisp (file)

Function: make-json-input-stream SOURCE &key START END CLOSE-STREAM MULTIPLE USE-RATIOS MAX-EXPONENT RAW-STRINGS DUPLICATE-KEY-CHECK
Package

json-streams

Source

input-stream.lisp (file)

Function: make-json-output-stream STREAM &key CLOSE-STREAM MULTIPLE INDENT ESCAPE-NON-ASCII DUPLICATE-KEY-CHECK KEY-ENCODER
Package

json-streams

Source

output-stream.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Generic functions

Generic Function: json-stream-position OBJECT
Package

json-streams

Methods
Method: json-stream-position (JSON-INPUT-STREAM json-input-stream)

automatically generated reader method

Source

base.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Conditions

Condition: json-error ()
Package

json-streams

Source

base.lisp (file)

Direct superclasses

error (condition)

Direct subclasses
Direct methods
Direct slots
Slot: stream
Initargs

:stream

Initform

(quote json-streams::*json-stream*)

Readers

json-error-stream (generic function)

Slot: message
Initargs

:message

Readers

json-error-message (generic function)

Condition: json-parse-error ()
Package

json-streams

Source

base.lisp (file)

Direct superclasses

json-error (condition)

Condition: json-write-error ()
Package

json-streams

Source

base.lisp (file)

Direct superclasses

json-error (condition)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Classes

Class: json-input-stream ()
Package

json-streams

Source

base.lisp (file)

Direct superclasses

json-stream (class)

Direct methods
Direct slots
Slot: multiple
Initargs

:multiple

Slot: use-ratios
Initargs

:use-ratios

Slot: max-exponent
Initargs

:max-exponent

Slot: raw-strings
Initargs

:raw-strings

Slot: current-char
Slot: position
Initargs

:position

Readers

json-stream-position (generic function)

Slot: newlines
Initform

(quote nil)

Slot: string-mode
Class: json-output-stream ()
Package

json-streams

Source

base.lisp (file)

Direct superclasses

json-stream (class)

Direct methods

%json-close (method)

Direct slots
Slot: multiple
Initargs

:multiple

Slot: escape-non-ascii
Initargs

:escape-non-ascii

Slot: indent
Initargs

:indent

Slot: level
Initform

0

Slot: key-encoder
Initargs

:key-encoder

Class: json-stream ()
Package

json-streams

Source

base.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct slots
Slot: stream
Initargs

:stream

Slot: close-stream
Initargs

:close-stream

Slot: state-stack
Initform

(quote (:before-json-text))

Slot: duplicate-key-check
Initargs

:duplicate-key-check

Slot: key-check-stack

Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Types

Type: json-array ()
Package

json-streams

Source

base.lisp (file)

Type: json-object ()
Package

json-streams

Source

base.lisp (file)

Type: json-string ()
Package

json-streams

Source

base.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Constants

Constant: +float-radix+
Package

json-streams

Source

write-float.lisp (file)

Constant: +min-e+
Package

json-streams

Source

write-float.lisp (file)

Constant: +most-negative-json-integer+
Package

json-streams

Source

base.lisp (file)

Constant: +most-positive-json-integer+
Package

json-streams

Source

base.lisp (file)

Constant: +output-base+
Package

json-streams

Source

write-float.lisp (file)

Constant: +precision+
Package

json-streams

Source

write-float.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Special variables

Special Variable: *json-stream*
Package

json-streams

Source

base.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Macros

Macro: ecase* KEYFORM &body CASES
Package

json-streams

Source

base.lisp (file)

Macro: state-stack ()
Package

json-streams

Source

base.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Functions

Function: %json-error MESSAGE &rest ARGS
Package

json-streams

Source

base.lisp (file)

Function: begin-object ()
Package

json-streams

Source

base.lisp (file)

Function: check-key KEY
Package

json-streams

Source

base.lisp (file)

Function: current-position ()
Package

json-streams

Source

input-stream.lisp (file)

Function: end-object ()
Package

json-streams

Source

base.lisp (file)

Function: expect-string START STRING TOKEN
Package

json-streams

Source

input-stream.lisp (file)

Function: exptt BB K
Package

json-streams

Source

write-float.lisp (file)

Function: fixup R S M+ M- K BB LOW-OK-P HIGH-OK-P
Package

json-streams

Source

write-float.lisp (file)

Function: flonum->digits V F E MIN-E P B BB
Package

json-streams

Source

write-float.lisp (file)

Function: generate R S M+ M- BB LOW-OK-P HIGH-OK-P
Package

json-streams

Source

write-float.lisp (file)

Function: json-encode-key KEY JSON-STREAM
Package

json-streams

Source

output-stream.lisp (file)

Function: json-stringify-single VALUE
Package

json-streams

Source

stringify.lisp (file)

Function: logb BB X
Package

json-streams

Source

write-float.lisp (file)

Function: parse-raw-string START
Package

json-streams

Source

input-stream.lisp (file)

Function: parse-single JSTREAM
Package

json-streams

Source

parse.lisp (file)

Function: parse-string START
Package

json-streams

Source

input-stream.lisp (file)

Function: parse-string-to-string START
Package

json-streams

Source

input-stream.lisp (file)

Function: peek-next-char ()
Package

json-streams

Source

input-stream.lisp (file)

Function: pop-state ()
Package

json-streams

Source

base.lisp (file)

Function: push-state NEW-STATE
Package

json-streams

Source

base.lisp (file)

Function: read-4hexdig ()
Package

json-streams

Source

input-stream.lisp (file)

Function: read-escaped START
Package

json-streams

Source

input-stream.lisp (file)

Function: read-integer &key FRACTIONAL-P
Package

json-streams

Source

input-stream.lisp (file)

Function: read-next-char ()
Package

json-streams

Source

input-stream.lisp (file)

Function: read-number START
Package

json-streams

Source

input-stream.lisp (file)

Function: read-raw-token &optional *JSON-STREAM*
Package

json-streams

Source

input-stream.lisp (file)

Function: read-string-chars ()
Package

json-streams

Source

input-stream.lisp (file)

Function: read-token &optional START *JSON-STREAM*
Package

json-streams

Source

input-stream.lisp (file)

Function: scale R S M+ M- K BB LOW-OK-P HIGH-OK-P V
Package

json-streams

Source

write-float.lisp (file)

Function: skip-space ()
Package

json-streams

Source

input-stream.lisp (file)

Function: switch-state NEW-STATE
Package

json-streams

Source

base.lisp (file)

Function: unread-current-char ()
Package

json-streams

Source

input-stream.lisp (file)

Function: valid-unescaped-char-p CHAR
Package

json-streams

Source

input-stream.lisp (file)

Function: write-escaped-string STRING
Package

json-streams

Source

output-stream.lisp (file)

Function: write-float FLOAT STREAM
Package

json-streams

Source

write-float.lisp (file)

Function: write-indent ()
Package

json-streams

Source

output-stream.lisp (file)

Function: write-number NUMBER
Package

json-streams

Source

output-stream.lisp (file)

Function: write-unicode STREAM CODE-POINT
Package

json-streams

Source

output-stream.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Generic functions

Generic Function: %json-close JSON-STREAM
Package

json-streams

Source

base.lisp (file)

Methods
Method: %json-close (*JSON-STREAM* json-input-stream)
Source

input-stream.lisp (file)

Method: %json-close (*JSON-STREAM* json-output-stream)
Source

output-stream.lisp (file)

Generic Function: json-error-message CONDITION
Package

json-streams

Methods
Method: json-error-message (CONDITION json-error)
Source

base.lisp (file)

Generic Function: json-error-stream CONDITION
Package

json-streams

Methods
Method: json-error-stream (CONDITION json-error)
Source

base.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   J   L  
Index Entry  Section

F
File, Lisp, json-streams.asd: The json-streams<dot>asd file
File, Lisp, json-streams/base.lisp: The json-streams/base<dot>lisp file
File, Lisp, json-streams/input-stream.lisp: The json-streams/input-stream<dot>lisp file
File, Lisp, json-streams/output-stream.lisp: The json-streams/output-stream<dot>lisp file
File, Lisp, json-streams/output.lisp: The json-streams/output<dot>lisp file
File, Lisp, json-streams/package.lisp: The json-streams/package<dot>lisp file
File, Lisp, json-streams/parse.lisp: The json-streams/parse<dot>lisp file
File, Lisp, json-streams/stringify.lisp: The json-streams/stringify<dot>lisp file
File, Lisp, json-streams/write-float.lisp: The json-streams/write-float<dot>lisp file

J
json-streams.asd: The json-streams<dot>asd file
json-streams/base.lisp: The json-streams/base<dot>lisp file
json-streams/input-stream.lisp: The json-streams/input-stream<dot>lisp file
json-streams/output-stream.lisp: The json-streams/output-stream<dot>lisp file
json-streams/output.lisp: The json-streams/output<dot>lisp file
json-streams/package.lisp: The json-streams/package<dot>lisp file
json-streams/parse.lisp: The json-streams/parse<dot>lisp file
json-streams/stringify.lisp: The json-streams/stringify<dot>lisp file
json-streams/write-float.lisp: The json-streams/write-float<dot>lisp file

L
Lisp File, json-streams.asd: The json-streams<dot>asd file
Lisp File, json-streams/base.lisp: The json-streams/base<dot>lisp file
Lisp File, json-streams/input-stream.lisp: The json-streams/input-stream<dot>lisp file
Lisp File, json-streams/output-stream.lisp: The json-streams/output-stream<dot>lisp file
Lisp File, json-streams/output.lisp: The json-streams/output<dot>lisp file
Lisp File, json-streams/package.lisp: The json-streams/package<dot>lisp file
Lisp File, json-streams/parse.lisp: The json-streams/parse<dot>lisp file
Lisp File, json-streams/stringify.lisp: The json-streams/stringify<dot>lisp file
Lisp File, json-streams/write-float.lisp: The json-streams/write-float<dot>lisp file

Jump to:   F   J   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %  
B   C   E   F   G   J   L   M   P   R   S   U   V   W  
Index Entry  Section

%
%json-close: Internal generic functions
%json-close: Internal generic functions
%json-close: Internal generic functions
%json-error: Internal functions

B
begin-object: Internal functions

C
call-with-json-output: Exported functions
check-key: Internal functions
current-position: Internal functions

E
ecase*: Internal macros
end-object: Internal functions
expect-string: Internal functions
exptt: Internal functions

F
fixup: Internal functions
flonum->digits: Internal functions
Function, %json-error: Internal functions
Function, begin-object: Internal functions
Function, call-with-json-output: Exported functions
Function, check-key: Internal functions
Function, current-position: Internal functions
Function, end-object: Internal functions
Function, expect-string: Internal functions
Function, exptt: Internal functions
Function, fixup: Internal functions
Function, flonum->digits: Internal functions
Function, generate: Internal functions
Function, json-close: Exported functions
Function, json-encode-key: Internal functions
Function, json-output-alist: Exported functions
Function, json-output-boolean: Exported functions
Function, json-output-member: Exported functions
Function, json-output-null: Exported functions
Function, json-output-plist: Exported functions
Function, json-output-value: Exported functions
Function, json-parse: Exported functions
Function, json-parse-multiple: Exported functions
Function, json-read: Exported functions
Function, json-stringify: Exported functions
Function, json-stringify-multiple: Exported functions
Function, json-stringify-single: Internal functions
Function, json-write: Exported functions
Function, logb: Internal functions
Function, make-json-input-stream: Exported functions
Function, make-json-output-stream: Exported functions
Function, parse-raw-string: Internal functions
Function, parse-single: Internal functions
Function, parse-string: Internal functions
Function, parse-string-to-string: Internal functions
Function, peek-next-char: Internal functions
Function, pop-state: Internal functions
Function, push-state: Internal functions
Function, read-4hexdig: Internal functions
Function, read-escaped: Internal functions
Function, read-integer: Internal functions
Function, read-next-char: Internal functions
Function, read-number: Internal functions
Function, read-raw-token: Internal functions
Function, read-string-chars: Internal functions
Function, read-token: Internal functions
Function, scale: Internal functions
Function, skip-space: Internal functions
Function, switch-state: Internal functions
Function, unread-current-char: Internal functions
Function, valid-unescaped-char-p: Internal functions
Function, write-escaped-string: Internal functions
Function, write-float: Internal functions
Function, write-indent: Internal functions
Function, write-number: Internal functions
Function, write-unicode: Internal functions

G
generate: Internal functions
Generic Function, %json-close: Internal generic functions
Generic Function, json-error-message: Internal generic functions
Generic Function, json-error-stream: Internal generic functions
Generic Function, json-stream-position: Exported generic functions

J
json-close: Exported functions
json-encode-key: Internal functions
json-error-message: Internal generic functions
json-error-message: Internal generic functions
json-error-stream: Internal generic functions
json-error-stream: Internal generic functions
json-output-alist: Exported functions
json-output-boolean: Exported functions
json-output-member: Exported functions
json-output-null: Exported functions
json-output-plist: Exported functions
json-output-value: Exported functions
json-parse: Exported functions
json-parse-multiple: Exported functions
json-read: Exported functions
json-stream-position: Exported generic functions
json-stream-position: Exported generic functions
json-stringify: Exported functions
json-stringify-multiple: Exported functions
json-stringify-single: Internal functions
json-write: Exported functions

L
logb: Internal functions

M
Macro, ecase*: Internal macros
Macro, state-stack: Internal macros
Macro, with-json-array: Exported macros
Macro, with-json-member: Exported macros
Macro, with-json-object: Exported macros
Macro, with-json-output: Exported macros
Macro, with-open-json-stream: Exported macros
make-json-input-stream: Exported functions
make-json-output-stream: Exported functions
Method, %json-close: Internal generic functions
Method, %json-close: Internal generic functions
Method, json-error-message: Internal generic functions
Method, json-error-stream: Internal generic functions
Method, json-stream-position: Exported generic functions

P
parse-raw-string: Internal functions
parse-single: Internal functions
parse-string: Internal functions
parse-string-to-string: Internal functions
peek-next-char: Internal functions
pop-state: Internal functions
push-state: Internal functions

R
read-4hexdig: Internal functions
read-escaped: Internal functions
read-integer: Internal functions
read-next-char: Internal functions
read-number: Internal functions
read-raw-token: Internal functions
read-string-chars: Internal functions
read-token: Internal functions

S
scale: Internal functions
skip-space: Internal functions
state-stack: Internal macros
switch-state: Internal functions

U
unread-current-char: Internal functions

V
valid-unescaped-char-p: Internal functions

W
with-json-array: Exported macros
with-json-member: Exported macros
with-json-object: Exported macros
with-json-output: Exported macros
with-open-json-stream: Exported macros
write-escaped-string: Internal functions
write-float: Internal functions
write-indent: Internal functions
write-number: Internal functions
write-unicode: Internal functions

Jump to:   %  
B   C   E   F   G   J   L   M   P   R   S   U   V   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
C   D   E   I   K   L   M   N   P   R   S   U  
Index Entry  Section

*
*json-stream*: Internal special variables

+
+float-radix+: Internal constants
+min-e+: Internal constants
+most-negative-json-integer+: Internal constants
+most-positive-json-integer+: Internal constants
+output-base+: Internal constants
+precision+: Internal constants

C
close-stream: Exported classes
Constant, +float-radix+: Internal constants
Constant, +min-e+: Internal constants
Constant, +most-negative-json-integer+: Internal constants
Constant, +most-positive-json-integer+: Internal constants
Constant, +output-base+: Internal constants
Constant, +precision+: Internal constants
current-char: Exported classes

D
duplicate-key-check: Exported classes

E
escape-non-ascii: Exported classes

I
indent: Exported classes

K
key-check-stack: Exported classes
key-encoder: Exported classes

L
level: Exported classes

M
max-exponent: Exported classes
message: Exported conditions
multiple: Exported classes
multiple: Exported classes

N
newlines: Exported classes

P
position: Exported classes

R
raw-strings: Exported classes

S
Slot, close-stream: Exported classes
Slot, current-char: Exported classes
Slot, duplicate-key-check: Exported classes
Slot, escape-non-ascii: Exported classes
Slot, indent: Exported classes
Slot, key-check-stack: Exported classes
Slot, key-encoder: Exported classes
Slot, level: Exported classes
Slot, max-exponent: Exported classes
Slot, message: Exported conditions
Slot, multiple: Exported classes
Slot, multiple: Exported classes
Slot, newlines: Exported classes
Slot, position: Exported classes
Slot, raw-strings: Exported classes
Slot, state-stack: Exported classes
Slot, stream: Exported conditions
Slot, stream: Exported classes
Slot, string-mode: Exported classes
Slot, use-ratios: Exported classes
Special Variable, *json-stream*: Internal special variables
state-stack: Exported classes
stream: Exported conditions
stream: Exported classes
string-mode: Exported classes

U
use-ratios: Exported classes

Jump to:   *   +  
C   D   E   I   K   L   M   N   P   R   S   U  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   J   P   S   T  
Index Entry  Section

C
Class, json-input-stream: Exported classes
Class, json-output-stream: Exported classes
Class, json-stream: Exported classes
Condition, json-error: Exported conditions
Condition, json-parse-error: Exported conditions
Condition, json-write-error: Exported conditions

J
json-array: Exported types
json-error: Exported conditions
json-input-stream: Exported classes
json-object: Exported types
json-output-stream: Exported classes
json-parse-error: Exported conditions
json-stream: Exported classes
json-streams: The json-streams system
json-streams: The json-streams package
json-string: Exported types
json-write-error: Exported conditions

P
Package, json-streams: The json-streams package

S
System, json-streams: The json-streams system

T
Type, json-array: Exported types
Type, json-object: Exported types
Type, json-string: Exported types

Jump to:   C   J   P   S   T