引入依赖
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)