0Pricing
Jetpack Compose Academy · บทเรียน

แยกวิเคราะห์ JSON ด้วย Moshi

แมปการตอบกลับเข้ากับคลาสข้อมูล Kotlin

แยกวิเคราะห์ JSON ด้วย Moshi เป็นบทเรียน Jetpack Compose Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Jetpack Compose Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Jetpack Compose Academy มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

Why You Need a Parser

The server sends raw JSON text, but your UI needs real Kotlin objects. A parser like Moshi bridges that gap automatically.

Map JSON to a Data Class

Each JSON object becomes a Kotlin data class. Moshi matches field names and fills in the properties for you. ✨

data class User(
    val id: Int,
    val name: String
)

Use @JsonClass for Codegen

Add @JsonClass with generateAdapter true so Moshi builds a fast adapter at compile time instead of using slow reflection.

@JsonClass(generateAdapter = true)
data class User(val id: Int, val name: String)

Rename Fields With @Json

When a JSON key uses snake_case, the @Json annotation maps it to a clean Kotlin property name without renaming the API.

@Json(name = "full_name")
val fullName: String

Nullable Means Optional

If a field might be missing, make it nullable with a question mark. Moshi sets it to null instead of crashing on absent keys.

data class User(
    val id: Int,
    val bio: String?
)

Default Values Are Handy

Give a property a default value and Moshi uses it whenever the JSON omits that field, keeping your model resilient to change.

val isVerified: Boolean = false

Nested Objects Just Work

If your JSON nests another object, model it as its own data class. Moshi parses the whole tree in one pass.

data class User(val id: Int, val address: Address)

Lists of Objects

A JSON array maps cleanly to a Kotlin List of your data class. Moshi builds every item for you in order.

@GET("users")
fun getUsers(): Call<List<User>>

Build a Moshi Instance

Create one shared Moshi object and add the Kotlin adapter factory so it understands data classes properly.

val moshi = Moshi.Builder()
    .add(KotlinJsonAdapterFactory())
    .build()

Plug Moshi Into Retrofit

Pass your Moshi instance to MoshiConverterFactory when building Retrofit, and every response is parsed without extra code.

.addConverterFactory(MoshiConverterFactory.create(moshi))

Keep Models Focused

Only model the fields you actually use. Moshi ignores unknown JSON keys, so a lean data class stays clean and fast.

Quick Check

How do you map a JSON key named first_name to a Kotlin property called firstName?

Recap: JSON Into Objects

You modeled responses as data classes, handled renames, nulls, and nesting, and wired Moshi into Retrofit. Next you'll call these endpoints from a ViewModel.

คำถามที่พบบ่อย

บทเรียน “แยกวิเคราะห์ JSON ด้วย Moshi” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “แยกวิเคราะห์ JSON ด้วย Moshi” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Jetpack Compose Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Jetpack Compose Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “แยกวิเคราะห์ JSON ด้วย Moshi”

แมปการตอบกลับเข้ากับคลาสข้อมูล Kotlin คุณปฏิบัติ Jetpack Compose Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Jetpack Compose Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Jetpack Compose Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “แยกวิเคราะห์ JSON ด้วย Moshi” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Jetpack Compose Academy นี้ได้ไหม

ได้ บทเรียน Jetpack Compose Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. กำหนดอินเทอร์เฟซ API ของ Retrofit
  2. แยกวิเคราะห์ JSON ด้วย Moshi
  3. การเรียกแบบ suspend ใน ViewModel
  4. ส่วนติดต่อผู้ใช้สถานะกำลังโหลด สำเร็จ และข้อผิดพลาด
← กลับไปที่ Jetpack Compose Academy