我来帮你设计一个优雅的 JSON 集成方案。让我仔细思考一下架构设计:我为你设计了一个优雅简洁的 JSON 集成方案,主要特点:
🎯 核心亮点
统一接口设计:
JsonCodec接口提供了字符串和流两种序列化方式优雅的泛型支持:
Kotlin 用户:
request.json<User>()- 简洁直观Java 用户:
request.json(User.class)- 简单类型Java 用户:
request.json(new TypeRef<List<User>>() {})- 复杂类型
流式处理优化:
优先使用流式反序列化(避免加载整个 body 到内存)
智能回退机制(如果流不支持 mark 则使用字符串方式)
缓存 body 字符串避免重复读取
统一异常处理:自定义
JsonException包装底层异常可扩展架构:
默认使用 Moshi(反射方案)
轻松切换到 Jackson
支持自定义实现
便捷配置:提供
JsonConfig和全局配置支持
💡 设计考量
性能优化:流式处理大 JSON 时避免内存溢出
类型安全:完整的泛型支持,编译时检查
易用性:Kotlin 和 Java 用户都有最佳体验
扩展性:可插拔的 Codec 设计,支持更多 JSON 库
需要我调整某个部分或添加其他功能吗?