Neatbo.

用 JSONPath 查询本地 JSON

按固定 RFC 9535 范围筛选嵌套 JSON,导出完整匹配值与原位置。

浏览器本地处理输入JSON 文档+JSONPath 文本输出完整匹配数组+查询报告

所选文件仅在点击运行后读取。读取、检查与处理共同计入整个 10 秒任务期。

输入、工作量与完整输出上限约束整个请求;超过任一项会拒绝结果,详见工具限制。

JSON 文档

开始之前

按固定 RFC 9535 范围筛选嵌套 JSON,导出完整匹配值与原位置。

如何使用

  1. 分别提供本地 JSON 文档和查询。
  2. 为每个角色选择有效来源模式;选择文件时只显示元信息,点击运行后读取并处理。
  3. 要按 identifiers 内部条件保留外层项目,在外层筛选中检查嵌套筛选是否有结果。
  4. 核对匹配位置,再复制或下载完整值数组与查询报告。

支持范围与限制

一份 JSON 最多 1 MiB、50,000 值节点和 64 层。查询最多 4,096 个 UTF-8 字节、128 个根查询段及 32 次累计解析器调用。累积保存的源 JSON Pointer 路径最多 8 MiB;对象/数组读取、成员检查、键与描述符访问合计最多 100,000 次,包含嵌套筛选内部列表。

支持成员、下标、切片、通配、后代查询、嵌套存在性筛选及基本逻辑/比较。拒绝函数和 JavaScript 表达式。文档与查询中的数值原文均须为精确安全整数。

最多 10,000 个匹配;重复选取保留次数与顺序。query-report.json 和 matches.json 合计最多 8 MiB。无匹配输出空数组。

valueJSON 保留原 JSON 值的写法及空白。位置包含 RFC 规范化路径和 JSON Pointer;保留用户原查询,不重排表达式。

文档角色选择粘贴内容或恰好一份 UTF-8 文件;改用粘贴时先清除所选文件。空文件或无效文件不会回退到隐藏的粘贴内容。文件名标签最多 512 个 UTF-8 字节。

移除并记录一个开头 BOM,粘贴输入亦如此。拒绝无效 UTF-8、解码后重复的 JSON 键和不成对的 Unicode 代理字符;输入在本浏览器处理。

整个任务固定 10 秒时限或取消后不提供部分制品。修正输入后重试,每次任务使用新 Worker。

查询是单独的文本控件。拒绝 count/length/match/search/value 等函数、JavaScript 表达式和非单值比较;不表示完整 RFC 9535 符合性。不用规范化表达式替换查询原文。

文件内容仅在点击运行后读取,与引擎加载、检查和处理共用固定的整个 10 秒任务期。取消或超过任一上限时,不发布部分复制或下载;输入仅留在当前标签页的有界内存中。

屏幕采用有界预览;复制保留完整有序值数组,query-report.json 保留每项匹配位置与来源身份。不上传内容,不抓取远程引用。

操作示例

示例输入

[{"identifiers":[{"extension":"foo"}]},{"identifiers":[{"extension":"bar"},{"extension":"baz"}]}]
示例参数
$[[email protected][[email protected] == "foo"]]

示例输出

[{"identifiers":[{"extension":"foo"}]}]

出现问题时

修正查询语法,或减少输出/解析工作量。不要把返回多个节点的通配查询直接用于比较;嵌套数组可用存在性筛选。 取消后可用相同有效输入启动新请求;被拒绝或超时的任务不提供部分制品。

常见问题

支持所有 JSONPath 函数吗?

不支持。此范围支持选择器与嵌套存在性筛选,拒绝所有函数与可执行表达式;需要保留外层记录时使用存在性筛选。

什么时候读取所选文件?

所选文件仅在点击运行后读取。读取、检查与处理共同计入整个 10 秒任务期。 每个角色仅使用所选模式;无效的所选文件不会回退到隐藏粘贴内容。

复制的结果只是预览吗?

不是。复制得到完整 matches.json 数组,保留值的原写法、重复项顺序与空白;下载 query-report.json 可取得每项位置。

文档与延伸阅读

相关工具