The SML of NJ Library
The JSON Library

## Overview

The JSON Library provides a representation of the JavaScript Object Notation (JSON) with support for parsing, printing, and manipulating JSON values as trees. There is also support for processing JSON data as streams using a "SAX-style" API.

## Contents

### Tree-based API

`structure JSON`

  Defines the representation of JSON values as an SML datatype.

`structure JSONParser`

  A parser for JSON input.

`structure JSONPrinter`

  A printer for JSON output.

`structure JSONUtil`

  A collection of utility functions for working with JSON values.

### Stream-based API

`structure JSONStreamParser`

  A stream (or event) based parser for JSON input.

`signature JSON_STREAM_OUTPUT`

  The interface to a stream-based printer for JSON output.

`structure JSONBufferPrinter`

  A stream-based printer for JSON output to character buffers.

`structure JSONStreamPrinter`

  A stream-based printer for JSON output to text files.

## Usage

For SML/NJ, include `$/json-lib.cm` in your CM file.

For use in MLton, include `$(SML_LIB)/smlnj-lib/JSON/json-lib.mlb` in your MLB file.

SML/NJ Version 110.99.3 (August 1, 2023)
Last updated 2023-07-31 17:59:01 UTC