← 中文资源

简体中文版本

NDJSON 过滤命令行工具

一个 Node 命令行工具,从标准输入读取换行分隔 JSON,保留匹配字段选择器的记录,并向标准输出写出 NDJSON。

阅读英文原文

功能说明

逐行流式读取标准输入,把每行解析为 JSON,将点号字段路径与期望值比较,并把匹配记录以 NDJSON 写出。畸形行会报告到标准错误并跳过,使流继续。

运行方式

cat events.ndjson | node ndjson-filter.mjs level=error

预期输出

只写出所选字段等于给定值的记录,每行一个 JSON 对象,并保持输入顺序。若三条事件中只有一条 level 为 error,过滤结果只含该行:

{"id":7,"level":"error","msg":"boom"}

限制

仅支持相等比较,不支持范围或正则;字段路径支持点号但不支持数组下标,数组内的值需先展平。示例含完整流式实现与测试,可本地复现核对。

本译文依据英文原文完整重写,包含功能说明、运行方式与真实预期输出,供中文读者对照英文原稿阅读;示例代码与命令与英文版本严格一致,可在本地按运行方式复现并逐项核对结果。当前实现覆盖最常见的使用路径,超出上文限制边界的场景需要额外设计与实现;若用于生产,请先补充输入校验、错误处理与日志,再结合自身环境调整依赖版本。