0Pricing
Kotlin Multiplatform Academy · درس

الحقول القابلة للفقد والافتراضية والاختيارية

التعامل بسلاسة مع JSON الناقص أو الجزئي

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

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

JSON Is Often Incomplete

Real responses skip fields or send null. Your shared models must handle missing data without crashing either app.

Make a Field Nullable

Mark a property as nullable with a trailing question mark, and the serializer happily reads a JSON null into it.

@Serializable
data class User(val bio: String?)

Null vs Missing

A key set to null and a key that is simply absent are different cases, and the library treats each one distinctly.

Give a Default Value

A property with a default can be left out of the JSON entirely, and decoding fills in your fallback.

val role: String = "member"

Optional Equals Default

In kotlinx.serialization, an optional field just means one that has a default, so absence is never an error.

Required Fields Are Strict

A non-null property with no default is required. If the JSON omits it, decoding throws a clear exception.

Nullable With a Default

You can combine both: a nullable property that defaults to null tolerates a missing key and a null value alike.

val avatar: String? = null

Skip Null on Output

Set explicitNulls to false and the encoder omits null fields instead of writing them out as null.

Json { explicitNulls = false }

Tolerate Extra Keys

APIs add fields over time. Turn on ignoreUnknownKeys so new JSON keys never break your existing models.

Json { ignoreUnknownKeys = true }

Coerce Bad Values

With coerceInputValues, a null sent for a field that has a default falls back to that default instead of failing.

Json { coerceInputValues = true }

Resilient by Design

Combining nullable types, defaults and lenient config makes your shared parsing robust against messy real-world JSON.

Quick Check

How do you let a JSON key be safely omitted from a response?

Recap

Use nullable types and defaults for missing data, and tune Json with ignoreUnknownKeys, explicitNulls and coerceInputValues for resilient parsing.

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

هل درس «الحقول القابلة للفقد والافتراضية والاختيارية» مجاني؟

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

ماذا ستتعلم في «الحقول القابلة للفقد والافتراضية والاختيارية»؟

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

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

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

كم من الوقت يستغرق درس «الحقول القابلة للفقد والافتراضية والاختيارية»؟

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

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

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

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

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