Jsoniter 是一款快且灵活的 JSON 解析器,同时提供 Java 和 Go 两个版本。
最近发布的 0.9.8 版本对性能对标 Jackson 和 Protobuf 进行了详细的评测: https://github.com/json-itera… 。性能优化的原理会近期会发布于 infoq 中文站,尽请期待。
同时提供 PHP 一般的体验。在 PHP 里,你只需要记得 json_decode ,什么文档都可以解析。现在在 Java 里,你也可以这么做了。
Any any = Jsoniter.deserialize(input); // deserialize 返回 "Any",实际的解析是延迟在读取时才做的
any.get("items", '*', "name", 0); // 抽取所有 items 的第一个 name
any.get("size").toLong(); // 不管是 "100" 还是 100 ,都给转成 long 类型,就像弱类型一样
any.bindTo(Order.class); // 把 JSON 绑定到对象
for (Any element : any) {} // 遍历集合, Any 实现了 iterable 接口