注意 / Info
本站经 Typst GmbH 许可,提供 Typst v0.10.0+后期随缘更新 官方文档的翻译,由中文社区维护。建议与官方文档一同阅读,因为可能存在错译、漏译或过时信息。如有意改进翻译内容或网站本身,可在GitHub上提出 Issue、发起 Pull Requests。此外,也欢迎加入「Typst 非官方中文交流群」(QQ 793548390)
This site provides a Chinese translation of the Typst v0.10.0+后期随缘更新 documentation maintained by the “Typst Chinese Community” with permission from Typst GmbH. We recommend using this alongside the official documentation. We welcome contributions through Issues and Pull Requests on our GitHub repository for both translation improvements and website enhancements. Feel free to join our QQ chat group “Typst 非官方中文交流群” (793548390).
Typst文档简体中文版
v0.10.0+后期随缘更新

json

从 JSON 文件读取结构化数据。

文件必须包含有效的 JSON 对象或数组。 JSON 对象将被转换为 Typst 字典,JSON 数组将转换为 Typst 数组。 字符串和布尔值将被转换为相应的 Typst 类型值。 null 将被转换为 none。 数字将根据是否为整数转化为浮点值或整数值。

该函数将返回一个字典或一个数组,这具体取决于读取的 JSON 文件。

示例中的 JSON 文件为一个包含 temperatureunitweather 键值的对象。

举例

#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

参数
参数
参数是传给函数的输入,写在函数名后的括号中。

json()->
any

path
必需参数
必需参数
必需参数在调用函数时必须传入。
位置参数
位置参数
位置参数按顺序传入,不带参数名。

JSON 文件路径。

定义
定义
这些函数和类型带有附属定义。要访问这种定义,请先写上函数或类型的名称,再加上定义的名称,并用句点在中间分隔。

decode

从 JSON 字符串/字节流中读取结构化数据。

json.decode()->
any

data
必需参数
必需参数
必需参数在调用函数时必须传入。
位置参数
位置参数
位置参数按顺序传入,不带参数名。

JSON 数据。

encode

将结构化数据编码为 JSON 字符串。

json.encode()->

value
any
必需参数
必需参数
必需参数在调用函数时必须传入。
位置参数
位置参数
位置参数按顺序传入,不带参数名。

被编码的值。

pretty

是否使用换行和缩进格式化输出的 JSON 字符串。

默认值:

true

转到官方文档(英文)

搜索