Files
core/lib/doc/dever-json-value.md
2026-11-03 03:32:07 +00:00

40 lines
1.1 KiB
Markdown

# JSON 文档
Document 用节点列表表示 JSON 树,子节点排在父节点之前。
## dever.json.value.Value
JSON 节点的六种值:null、布尔、数字、字符串、数组和对象。数字保留原始文本。
分支:
- `Null`:空值
- `Boolean(value: Bool)`:布尔值
- `Number(raw: Text)`:原始数字
- `String(text: Text)`:字符串
- `Array(children: List<Int>)`:子节点 ID
- `Object(members: Map<Text, Int>)`:字段到子节点 ID
## dever.json.value.Document
由根节点 ID 和节点列表组成的文档;节点 ID 是列表下标。
字段:
- `root`:根节点 ID
- `nodes`:按节点 ID 排列的节点列表
## dever.json.value.ParseResult
文档解析结果。失败位置从零开始,按 Unicode 码点计数。
分支:
- `Parsed(document: Document)`:解析成功
- `error Failed(position: Int, message: Text)`:解析失败
## dever.json.value.WriteResult
文档编码结果。失败包含节点 ID 和原因。
分支:
- `Written(text: Text)`:编码成功
- `error Failed(node: Int, message: Text)`:编码失败