Kotlin:
JSONを活用する

方法:

KotlinはJSONのための組み込みサポートを含まないが、GoogleのGsonやJetBrainsのKotlinx.serializationのようなサードパーティライブラリの強力な機能を利用します。以下は、JSONを扱うためにこれらをどのように使用するかです。

Gsonの使用

build.gradleファイルにGson依存性を追加します:

implementation 'com.google.code.gson:gson:2.8.9'

JSON文字列をオブジェクトにパースし、その逆も同様に行います:

import com.google.gson.Gson

// データクラスを定義
data class User(val name: String, val age: Int)

fun main() {
    val gson = Gson()

    // シリアライズ
    val json = gson.toJson(User("John Doe", 30))
    println(json)  // 出力: {"name":"John Doe","age":30}

    // デシリアライズ
    val user: User = gson.fromJson(json, User::class.java)
    println(user)  // 出力: User(name=John Doe, age=30)
}

Kotlinx.serializationの使用

まず、build.gradleに依存性を含めます:

implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3"

その後、ビルドスクリプトの先頭でkotlinx-serializationプラグインを適用します:

plugins {
    kotlin("jvm") version "1.6.10"
    kotlin("plugin.serialization") version "1.6.10"
}

Kotlinx.serializationを使用したシリアライズとデシリアライズ:

import kotlinx.serialization.*
import kotlinx.serialization.json.*

// シリアライズ可能なデータクラスを定義
@Serializable
data class User(val name: String, val age: Int)

fun main() {
    // シリアライズ
    val json = Json.encodeToString(User("Jane Doe", 28))
    println(json)  // 出力: {"name":"Jane Doe","age":28}

    // デシリアライズ
    val user = Json.decodeFromString<User>(json)
    println(user)  // 出力: User(name=Jane Doe, age=28)
}

GsonとKotlinx.serializationの両方は、KotlinアプリケーションでのJSONの取り扱いを簡略化しますが、一方を他方より選ぶことは、特定のプロジェクト要件や個人の好みに依存します。