Info
This site is generated using the static site generator developed by the Typst Community. Please adjust the text content of this banner according to your usage requirements. At Typst GmbH's request, when publishing documentation, you must clearly indicate that it is non-official and display the version of Typst being documented. For details, refer to Issue #874 on typst/typst.

json

Reads structured data from a JSON file.

The file must contain a valid JSON value, such as object or array. JSON objects will be converted into Typst dictionaries, and JSON arrays will be converted into Typst arrays. Strings and booleans will be converted into the Typst equivalents, null will be converted into none, and numbers will be converted to floats or integers depending on whether they are whole numbers.

Be aware that integers larger than 263-1 will be converted to floating point numbers, which may result in an approximative value.

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

#let forecast(day) = block[
  #box(square(
    width: 2cm,
    inset: 8pt,
    fill: if day.weather == "sunny" {
      yellow
    } else {
      aqua
    },
    align(
      bottom + right,
      strong(day.weather),
    ),
  ))
  #h(6pt)
  #set text(22pt, baseline: -8pt)
  #day.temperature °#day.unit
]

#forecast(json("monday.json"))
#forecast(json("tuesday.json"))
Preview

Parameter
Parameter
Parameters are input values for functions. Specify them in parentheses after the function name.

json()->
any

source
Required
Required
Required parameters must be specified when calling the function.
Positional
Positional
Positional parameters can be set by specifying them in order, omitting the parameter name.

A path to a JSON file or raw JSON bytes.

Definitions
Definitions
These functions and types can have related definitions. To access a definition, specify the name of the function or type, followed by the definition name separated by a period.

decode

`json.decode` is deprecated, directly pass bytes to `json` instead

Reads structured data from a JSON string/bytes.

json.decode()->
any

data
Required
Required
Required parameters must be specified when calling the function.
Positional
Positional
Positional parameters can be set by specifying them in order, omitting the parameter name.

JSON data.

encode

Encodes structured data into a JSON string.

json.encode()->

value
any
Required
Required
Required parameters must be specified when calling the function.
Positional
Positional
Positional parameters can be set by specifying them in order, omitting the parameter name.

Value to be encoded.

pretty

Whether to pretty print the JSON with newlines and indentation.

Default value:

true

Open official docs

Search