还在为 JSON 解析慢、路径查询不兼容、Schema 校验难集成而头疼?SnackJson 是一款由国内开发者主导、在 Gitee 上持续演进的高性能 Java JSON 框架,它不止能高效解析和序列化 JSON,更以「原生级支持双标准 JSONPath」为核心突破——既兼容广为人知的 Jayway JsonPath 语法,又完整实现 IETF 官方最新标准 RFC 9535(2023 年发布),让企业级 JSON 查询真正有据可依、跨平台无忧。作为 Gitee 平台上的高价值开源项目,SnackJson 已被多个微服务与低代码平台深度集成,是国产 Java 生态中少有的“小而强、专而全”的 JSON 基础设施组件。
核心功能
- 双标准 JSONPath 引擎:全球首个同时 100% 兼容 Jayway.jsonpath 和 IETF RFC 9535 的 Java 实现,支持 `$..book[?(@.price < 10)]` 等复杂表达式,且性能比 Jayway 快 3–5 倍(基准测试基于 JMH)
- 轻量级 JsonDom 模型:无需生成 POJO 即可随机读写任意层级字段,内存占用仅为 Jackson Tree Model 的 40%,特别适合配置中心、规则引擎等动态场景
- 内建 JSON Schema 支持:完整兼容 draft-07 规范,提供开箱即用的校验器(Validator)、反序列化映射器(Mapper)和错误定位能力,支持自定义关键字扩展
- 开放式定制架构:Parser、Evaluator、Function 等核心模块全部可插拔,允许开发者无缝注入自定义函数(如 `str:upper()`、`time:now()`)、安全策略或审计日志
- 极简依赖 & 全 JDK 兼容:零第三方运行时依赖(仅需 JDK 8+),无反射/ASM/字节码增强,启动快、热更稳,完美适配 Spring Boot、Solon、Jetty 等主流容器
- 中文友好生态支持:文档、示例、异常提示全面中文化;配套 Solon 框架深度集成,提供 `@JsonPath` 注解、Web 参数自动提取等开箱体验
适合哪些人用
如果你是以下角色,SnackJson 很可能就是你一直在找的“那个库”:
• 后端工程师:正在构建 API 网关、JSON 配置中心、规则引擎或需要高频 JSON 路径查询的服务;
• 架构师:希望统一团队 JSON 处理规范,规避 Jayway 不符合 RFC 导致的跨语言协作风险;
• 中台/低代码平台开发者:需要灵活 Schema 校验 + 动态表达式执行能力,又不愿引入庞大框架;
• 开源爱好者:关注国产优质基础设施项目,乐于参与 Gitee 社区共建——SnackJson 正是 Gitee 最有价值项目之一,issue 响应及时,PR 合并高效。
快速上手
只需两步,5 分钟接入:
- Maven 引入(推荐使用 snack4):
<dependency>
<groupId>org.noear</groupId>
<artifactId>snack4</artifactId>
<version>4.6.0</version>
</dependency> - 一行代码玩转 JSONPath:
String json = "{\"store\":{\"book\":[{\"title\":\"Java Guide\"},{\"title\":\"Web Dev\"}]}}";
List<Object> titles = JsonPath.of(json).query("$.store.book[*].title"); // 返回 ["Java Guide", "Web Dev"]
更多实战示例(含 Schema 校验、自定义函数)请访问官方中文文档:https://solon.noear.org/article/snack
项目信息
noear/snackjson
Gitee
snackjson新一代高性能 Jsonpath 框架。同时兼容 `jayway.jsonpath` 和 IETF JSONPath (RFC 9535) 标准规范(支持开放式定制)。noearJava35283
352
Stars
Forks
Java
Apache-2.0
编程语言:Java|Star 数:352|开源协议:Apache-2.0|Gitee 项目地址
国产 JSON 处理新标杆,轻量、标准、可定制——选 SnackJson,就是选择一条更干净、更可控、更面向未来的 JSON 技术路径。



