JSON LAB数据处理案例库
监控指标 · JSON 处理案例
监控值需要结合单位和标签解释。两条同名指标若标签不同,不应直接相减;样本变化也不能证明发生了真实告警。
$
JSONPath 字段提取
8 个案例- 监控指标:提取全部 metricIdJSONPath 字段提取
- 监控指标:提取全部 metricNameJSONPath 字段提取
- 监控指标:读取第一项 valueJSONPath 字段提取
- 监控指标:按数组顺序提取 unitJSONPath 字段提取
- 监控指标:提取嵌套 labels 对象JSONPath 字段提取
- 监控指标:读取 summary.total 汇总数JSONPath 字段提取
- 监控指标:区分明确的 null 和字段缺失JSONPath 字段提取
- 监控指标:查询尚未提供的 metricNameAliasJSONPath 字段提取
{}
Schema 数据约束
8 个案例- 监控指标:检查 metricId 必须存在Schema 数据约束
- 监控指标:限制 metricName 不能为空字符串Schema 数据约束
- 监控指标:限制 value 为非负整数Schema 数据约束
- 监控指标:检查 healthy 的布尔类型Schema 数据约束
- 监控指标:约束 unit 的枚举值Schema 数据约束
- 监控指标:拒绝合同以外的额外字段Schema 数据约束
- 监控指标:用本地 $ref 复用 value 规则Schema 数据约束
- 监控指标:检查 metricId 数组没有重复值Schema 数据约束
±
JSON 结构对比
8 个案例- 监控指标:发现新增的 unitNoteJSON 结构对比
- 监控指标:发现被删除的 healthyJSON 结构对比
- 监控指标:识别 value 从数字变为字符串JSON 结构对比
- 监控指标:定位 unit 的值变化JSON 结构对比
- 监控指标:解释 series 首部插入导致的多处差异JSON 结构对比
- 监控指标:确认对象字段换序不会产生差异JSON 结构对比
- 监控指标:识别 metricNameNote 从 null 变为缺失JSON 结构对比
- 监控指标:读取包含斜杠和波浪线的字段路径JSON 结构对比
↔
JSON 整理与类型生成
8 个案例- 监控指标:将接口响应整理为两空格缩进JSON 整理与类型生成
- 监控指标:压缩 JSON 并保留字段和值JSON 整理与类型生成
- 监控指标:递归排序对象字段并保留数组顺序JSON 整理与类型生成
- 监控指标:把中文字符串写为 Unicode 转义JSON 整理与类型生成
- 监控指标:把 JSON 文本转为可嵌入的转义片段JSON 整理与类型生成
- 监控指标:还原一层 JSON 字符串转义JSON 整理与类型生成
- 监控指标:从接口样本生成 TypeScript 类型草稿JSON 整理与类型生成
- 监控指标:从样本起草 Draft-07 SchemaJSON 整理与类型生成
value 的单位由 unit 给出,本例只演示非负整数值。 所有案例均包含原例、对照输入及实际引擎结果。