引入依赖
Gradle
implementation 'com.google.code.gson:gson:2.8.8'
Maven
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.8</version> </dependency>
示例代码
package com.e404.test import com.google.gson.Gson import com.google.gson.GsonBuilder import java.io.FileInputStream import java.io.FileOutputStream fun main() { // 反序列化 val stu: Student = FileInputStream("in.json").use { it.bufferedReader().use { br -> Gson().fromJson(br, Student::class.java) } } println("stu.name: ${stu.name}") println("stu.age: ${stu.age}") // 序列化 FileOutputStream("out.json").use { it.bufferedWriter().use { bw -> // 要写入的json字符串 // setPrettyPrinting 是生成带缩进的字符串 val str: String = GsonBuilder().setPrettyPrinting().create().toJson(stu) bw.write(str) } } } /** * 必须要有无参的构造方法和每个参数的getter和setter * * (idea下setter可以用alt+insert快速生成) * * 否则会报错 */ class Student(var name: String = "", var age: Int = 0)