json
Read structured data from a JSON file.
The file must contain a valid JSON 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.
The function returns a dictionary or an array, depending on the JSON file.
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"))

ParametersParameters are the inputs to a function. They are specified in parentheses after the function name.
Parameters are the inputs to a function. They are specified in parentheses after the function name.
path
Path to a JSON file.