QJson 4.0 版目前首个内测版本已经提交到 4.0 分支中,目前初步性能测试结果对比如下:
用例 | System.JSON | QJson 3.0 | QJson 4.0 普通模式 | QJson 4.0 只进模式 |
{“a”:null} | 375ms | 531ms | 282ms | 250ms |
{“b”:123456} | 375ms | 563ms | 313ms | 281ms |
{“c”:true} | 328ms | 563ms | 281ms | 250ms |
{“d”:false} | 343ms | 547ms | 266ms | 250ms |
{“e”:”string value”} | 391ms | 531ms | 344ms | 297ms |
可以看到,相比于上一个版本,性能大幅提升,已经超越 System.JSON 的性能。
【注意】新版本可能会存在各种问题,请不要用于生产环境。
关于只进模式
4.0 版本引入只进模式,该模式下,上层应用需要在回调函数中,自行处理处理解析结果。在回调函数中,您可以访问本结点的内容(名称、类型、值),以及上级结点的类型、名称、已经解析的子结点数。
根据这一特性,这种模式适合:
- 反序列化
- 在 JSON 中检索特定的内容
- 内存敏感性场景