跳到主要内容

性能测试报告

返回文档导航


说明

JSONMap 底层基于 HashMap,单次读写性能与原生 Map 相当。路径解析结果会被缓存,重复访问同一路径时性能开销很小。

详细的性能测试代码位于:

src/test/java/com/dlz/comm/performance/JSONMapPerformanceTest.java

运行测试

mvn test -Dtest=JSONMapPerformanceTest

测试会输出三种方式的对比数据(构造 1 次 + 读取 N 次,以及每次构造并读取):

  1. 传统方式:Map + 多层判空强转
  2. JSONMap 直接路径response.getStr("data.order.orderId")
  3. JSONMap 子对象response.getMap("data.order") + 逐字段读取

测试数据

{
"code": 0,
"message": "success",
"data": {
"order": { "orderId": "WX20240205001", "status": 1, "amount": 9900 },
"user": { "openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o" }
}
}

使用建议

  • 读取同子对象的多个字段:先 getMap("data.order") 再逐字段读
  • 读取不同层级的字段:直接路径
  • 超大数据量多线程:三种方式差异很小,按代码可读性选择即可

性能瓶颈通常在网络 IO 和数据库查询,JSONMap 自身的开销在实际业务中可忽略。


返回文档导航 | 下一节:常见问题 FAQ →