# SNOBOL4JSON(3) | CSNOBOL4B 2.3.2 | Janurary 1, 2024

## NAME

JSON Encoding and Decoding

## SYNOPSYS

    -INCLUDE 'json.sno'
          string = JSON_ENCODE(data)
          data = JSON_DECODE(string)

## DESCRIPTION

JSON_ENCODE(data) accepts a subset of SNOBOL4 data types:

- STRING
- INTEGER
- REAL
- ARRAY MUST be singly-dimensioned and zero-based.
- TABLE

JSON_DECODE(json_string) accepts a proper subset of JSON with the following limits and omissions:

- arrays must have at least one item.
- \u escapes can only be used for ASCII (00-7F) characters.
- true and false are not accepted.

NOTE!!! JSON is defined to use UTF-8 encoding, but this is not enforced by this library. To exchange binary data with other software which may enforce use of only UTF-8 sequences, the binary strings should be encoded (eg with base64) to ASCII sequences.

## COMPATIBILITY

https://tools.ietf.org/html/rfc8259

## SEE ALSO

snobol4(1), snobol4base64(3)

## AUTHORS

Philip L. Budne