0Pricing
Kotlin Multiplatform Academy · درس

@SerialName وربط الحقول المخصص

مطابقة أسماء Kotlin بمفاتيح JSON المختلفة

@SerialName وربط الحقول المخصص درس مجاني في Kotlin Multiplatform Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Kotlin Multiplatform Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Kotlin Multiplatform Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Names Do Not Always Match

Real APIs love keys like user_name, but Kotlin prefers userName. @SerialName lets the two disagree peacefully.

Rename a Single Field

Put @SerialName above a property to tell the serializer which JSON key it really maps to.

@SerialName("user_name") val userName: String

Kotlin Stays Idiomatic

Your code keeps clean camelCase names while the wire format keeps whatever the backend chose. Both sides win.

Snake Case Is Common

Many JSON APIs use snake_case, so mapping created_at to a createdAt property is one of the most frequent uses.

@SerialName("created_at") val createdAt: String

Map Reserved Words

If JSON has a key like type that clashes with your style, @SerialName frees you to name the property whatever reads best.

@SerialName("type") val kind: String

Works on Every Field

You can annotate as many properties as you like, mixing renamed and default-named fields inside the same data class.

Rename Enum Entries Too

@SerialName also works on enum constants, so an ACTIVE entry can serialize as the lowercase string the API expects.

@SerialName("active") ACTIVE

Global Naming Strategy

If every key is snake_case you can set a JsonNamingStrategy once instead of annotating each field by hand.

Json { namingStrategy = JsonNamingStrategy.SnakeCase }

Annotation Wins

When both a global strategy and an explicit @SerialName apply, the annotation takes priority for that one field.

Same Class, Both Ways

The custom names apply to both encoding and decoding, so one annotated model handles reading and writing JSON.

Decoupled From the Backend

Mapping keys explicitly means a backend rename only touches one annotation, not your whole codebase.

Quick Check

How do you map a JSON key to a differently named Kotlin property?

Recap

Use @SerialName to map mismatched JSON keys to idiomatic Kotlin names on fields and enums, or set a global naming strategy for whole models.

الأسئلة الشائعة

هل درس «@SerialName وربط الحقول المخصص» مجاني؟

نعم — نص درس «@SerialName وربط الحقول المخصص» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Kotlin Multiplatform Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Kotlin Multiplatform Academy 4 دروس في المجموع.

ماذا ستتعلم في «@SerialName وربط الحقول المخصص»؟

مطابقة أسماء Kotlin بمفاتيح JSON المختلفة تتمرن على Kotlin Multiplatform Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Kotlin Multiplatform Academy؟

لا تُشترط خبرة سابقة. Kotlin Multiplatform Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «@SerialName وربط الحقول المخصص»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Kotlin Multiplatform Academy هذا؟

نعم. كل درس في Kotlin Multiplatform Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. نماذج البيانات @Serializable
  2. @SerialName وربط الحقول المخصص
  3. الحقول القابلة للفقد والافتراضية والاختيارية
  4. دمج Serialization مع Ktor
← العودة إلى Kotlin Multiplatform Academy