JSON LAB数据处理案例库
异步任务 · JSON 处理案例
异步任务接收成功与执行完成是两个状态。本例用于查看和校验任务返回,不进行真实轮询、重试或任务调度。
$
JSONPath 字段提取
8 个案例- 异步任务:提取全部 taskIdJSONPath 字段提取
- 异步任务:提取全部 taskNameJSONPath 字段提取
- 异步任务:读取第一项 progressJSONPath 字段提取
- 异步任务:按数组顺序提取 stateJSONPath 字段提取
- 异步任务:提取嵌套 execution 对象JSONPath 字段提取
- 异步任务:读取 summary.total 汇总数JSONPath 字段提取
- 异步任务:区分明确的 null 和字段缺失JSONPath 字段提取
- 异步任务:查询尚未提供的 taskNameAliasJSONPath 字段提取
{}
Schema 数据约束
8 个案例- 异步任务:检查 taskId 必须存在Schema 数据约束
- 异步任务:限制 taskName 不能为空字符串Schema 数据约束
- 异步任务:限制 progress 为非负整数Schema 数据约束
- 异步任务:检查 retryable 的布尔类型Schema 数据约束
- 异步任务:约束 state 的枚举值Schema 数据约束
- 异步任务:拒绝合同以外的额外字段Schema 数据约束
- 异步任务:用本地 $ref 复用 progress 规则Schema 数据约束
- 异步任务:检查 taskId 数组没有重复值Schema 数据约束
±
JSON 结构对比
8 个案例- 异步任务:发现新增的 stateNoteJSON 结构对比
- 异步任务:发现被删除的 retryableJSON 结构对比
- 异步任务:识别 progress 从数字变为字符串JSON 结构对比
- 异步任务:定位 state 的值变化JSON 结构对比
- 异步任务:解释 tasks 首部插入导致的多处差异JSON 结构对比
- 异步任务:确认对象字段换序不会产生差异JSON 结构对比
- 异步任务:识别 taskNameNote 从 null 变为缺失JSON 结构对比
- 异步任务:读取包含斜杠和波浪线的字段路径JSON 结构对比
↔
JSON 整理与类型生成
8 个案例- 异步任务:将接口响应整理为两空格缩进JSON 整理与类型生成
- 异步任务:压缩 JSON 并保留字段和值JSON 整理与类型生成
- 异步任务:递归排序对象字段并保留数组顺序JSON 整理与类型生成
- 异步任务:把中文字符串写为 Unicode 转义JSON 整理与类型生成
- 异步任务:把 JSON 文本转为可嵌入的转义片段JSON 整理与类型生成
- 异步任务:还原一层 JSON 字符串转义JSON 整理与类型生成
- 异步任务:从接口样本生成 TypeScript 类型草稿JSON 整理与类型生成
- 异步任务:从样本起草 Draft-07 SchemaJSON 整理与类型生成
progress 使用本例 0 到 100 的进度约定;下面通用非负约束不等于完整进度合同。 所有案例均包含原例、对照输入及实际引擎结果。