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"))
引数
Parameters are the inputs to a function. They are specified in parentheses after the function name.
path
Path to a JSON file.
For more details, see the Paths section.
定義
Functions and types and can have associated definitions. These are accessed by specifying the function or type, followed by a period, and then the definition's name.
decode
Reads structured data from a JSON string/bytes.
data
JSON data.
encode
Encodes structured data into a JSON string.
value
any
RequiredPositional
Positional parameters are specified in order, without names.
Value to be encoded.
pretty
Whether to pretty print the JSON with newlines and indentation.
Default:true