dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0'
}
{
"name": "John",
"age": 30,
"email": "john@example.com"
}
kotlin
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class User(
@SerialName("name") val name: String,
@SerialName("age") val age: Int,
@SerialName("email") val email: String
)
import kotlinx.serialization.json.Json;
import kotlinx.serialization.json.JsonObject;
import kotlinx.serialization.json.JsonObjectSerializer;
import kotlinx.serialization.json.JsonParsingException;
import kotlinx.serialization.json.JsonTreeParser;
public class JsonParser {
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\",\"age\":30,\"email\":\"john@example.com\"}";
try {
JsonTreeParser parser = new JsonTreeParser(jsonString);
JsonObject jsonObject = parser.readFully();
User user = JsonObjectSerializer.serializer(User.class).patch(jsonObject);
System.out.println("Name: " + user.getName());
System.out.println("Age: " + user.getAge());
System.out.println("Email: " + user.getEmail());
} catch (JsonParsingException e) {
e.printStackTrace();
}
}
}