Chinakanyun-inc/Kudos
Powerful utilities for deserializing Kotlin classes with Gson, Jackson and Android JsonReader.
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tháng
#1 Repository Của Tháng
#1 Repository Của Tháng
🔧 Kudos: An toàn null + giá trị mặc định cho Gson, Jackson và JsonReader
Plugin biên dịch Kotlin cung cấp hỗ trợ null safety và default values cho các framework deserialize phổ biến.
Kudos (viết tắt của Kotlin Utilities for Deserializing Objects) là một plugin biên dịch giúp các lớp Kotlin được deserialize an toàn hơn với Gson, Jackson và Android JsonReader. Thông thường, các framework này bỏ qua giá trị mặc định của tham số hàm tạo và gây lỗi null do thiếu no-arg constructor. Kudos giải quyết vấn đề này bằng cách sinh constructor phù hợp và điều chỉnh quá trình khởi tạo.
✨ Điểm nổi bật
- No-arg constructor an toàn: Tự động sinh constructor rỗng cho lớp có annotation
@PoKo. - Hỗ trợ
invokeInitializers: Bật khởi tạo đúng giá trị mặc định trong constructor. - Null safety toàn diện: Tránh gán null cho kiểu non-nullable khi thiếu trường JSON.
- Default values được giữ nguyên: Các tham số có giá trị mặc định sẽ được áp dụng đúng khi thiếu trường.
- Tích hợp JsonReader hiệu năng cao: Cung cấp DSL đơn giản để dùng JsonReader mà vẫn an toàn kiểu.
- Hỗ trợ đa framework: Tương thích Gson, Jackson và Android JsonReader.
💡 Vì sao đáng chú ý
Thay vì chuyển sang Moshi hay kotlinx.serialization — tốn thời gian migration và thiếp thu cú pháp mới — Kudos giữ nguyên cách dùng quen của Gson/Jackson nhưng thêm lớp bảo vệ null safety và default values. Đặc biệt, với JsonReader, Kudos sinh mã tự động qua compiler plugin, giúp tránh viết thủ công vòng lặp parse JSON mà vẫn giữ hiệu năng cao của JsonReader.
#Kotlin #Gson #Jackson #JsonReader #CompilerPlugin #NullSafety #TiniX
Similar Projects
Discover other similar projects and AI models.
🚀 Plugin for Android Studio And IntelliJ Idea to generate Kotlin data class code from JSON text ( Json to Kotlin )
Generate Java types from JSON or JSON Schema and annotate those types for data-binding with Jackson, Gson, etc
Java annotation processor to create immutable objects and builders, for records too. Sweep boilerplate code under the rug!
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.