JSON LAB数据处理案例库
导航菜单 · JSON 处理案例
菜单标题、排序和链接需要分别核对。数组顺序可能用于展示,而实际权限不能只靠 visible 字段控制。
$
JSONPath 字段提取
8 个案例- 导航菜单:提取全部 menuIdJSONPath 字段提取
- 导航菜单:提取全部 labelJSONPath 字段提取
- 导航菜单:读取第一项 sortOrderJSONPath 字段提取
- 导航菜单:按数组顺序提取 placementJSONPath 字段提取
- 导航菜单:提取嵌套 navigation 对象JSONPath 字段提取
- 导航菜单:读取 summary.total 汇总数JSONPath 字段提取
- 导航菜单:区分明确的 null 和字段缺失JSONPath 字段提取
- 导航菜单:查询尚未提供的 labelAliasJSONPath 字段提取
{}
Schema 数据约束
8 个案例- 导航菜单:检查 menuId 必须存在Schema 数据约束
- 导航菜单:限制 label 不能为空字符串Schema 数据约束
- 导航菜单:限制 sortOrder 为非负整数Schema 数据约束
- 导航菜单:检查 visible 的布尔类型Schema 数据约束
- 导航菜单:约束 placement 的枚举值Schema 数据约束
- 导航菜单:拒绝合同以外的额外字段Schema 数据约束
- 导航菜单:用本地 $ref 复用 sortOrder 规则Schema 数据约束
- 导航菜单:检查 menuId 数组没有重复值Schema 数据约束
±
JSON 结构对比
8 个案例- 导航菜单:发现新增的 placementNoteJSON 结构对比
- 导航菜单:发现被删除的 visibleJSON 结构对比
- 导航菜单:识别 sortOrder 从数字变为字符串JSON 结构对比
- 导航菜单:定位 placement 的值变化JSON 结构对比
- 导航菜单:解释 menus 首部插入导致的多处差异JSON 结构对比
- 导航菜单:确认对象字段换序不会产生差异JSON 结构对比
- 导航菜单:识别 labelNote 从 null 变为缺失JSON 结构对比
- 导航菜单:读取包含斜杠和波浪线的字段路径JSON 结构对比
↔
JSON 整理与类型生成
8 个案例- 导航菜单:将接口响应整理为两空格缩进JSON 整理与类型生成
- 导航菜单:压缩 JSON 并保留字段和值JSON 整理与类型生成
- 导航菜单:递归排序对象字段并保留数组顺序JSON 整理与类型生成
- 导航菜单:把中文字符串写为 Unicode 转义JSON 整理与类型生成
- 导航菜单:把 JSON 文本转为可嵌入的转义片段JSON 整理与类型生成
- 导航菜单:还原一层 JSON 字符串转义JSON 整理与类型生成
- 导航菜单:从接口样本生成 TypeScript 类型草稿JSON 整理与类型生成
- 导航菜单:从样本起草 Draft-07 SchemaJSON 整理与类型生成
sortOrder 是本例排序权重;同权重时的顺序需由实际产品另行约定。 所有案例均包含原例、对照输入及实际引擎结果。