Typst Fumadocs

JSON

Documentation for the `json` function.

Reads structured data from a JSON file.

The file must contain a valid JSON value, such as object or array. The JSON values will be converted into corresponding Typst values as listed in the table below.

The function returns a dictionary, an array or, depending on the JSON file, another JSON data type.

The JSON files in the example contain objects with the keys temperature, unit, and weather.

Example

Loading compiler...

Conversion details

JSON valueConverted into Typst
nullnone
boolbool
numberfloat or int
stringstr
arrayarray
objectdictionary
Typst valueConverted into JSON
types that can be converted from JSONcorresponding JSON value
bytesstring via repr
symbolstring
contentan object describing the content
other types (length, etc.)string via repr

Notes

  • In most cases, JSON numbers will be converted to floats or integers depending on whether they are whole numbers. However, be aware that integers larger than 263-1 or smaller than -263 will be converted to floating-point numbers, which may result in an approximative value.
  • Bytes are not encoded as JSON arrays for performance and readability reasons. Consider using cbor.encode for binary data.
  • The repr function is for debugging purposes only, and its output is not guaranteed to be stable across Typst versions.
#json(
  source
) -> any

Parameters

Prop

Type

Definitions

Reads structured data from a JSON string/bytes.

#json.decode(
  data
) -> any

Parameters

Prop

Type

Encodes structured data into a JSON string.

#json.encode(
  value,
  pretty: bool
) -> str

Parameters

Prop

Type

On this page