简要介绍
项目中,有时需要json测试数据,需要一个简单的工具来方便根据已经定义的好的类批量生成json字符串.
解决方案
- 用IntelliJ IDEA创建一个gradle工程
- 添加依赖
implementation "com.google.code.gson:gson:2.8.5"
- 添加代码
- 关键处理类Class2Json
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.google.gson.JsonParser
import java.awt.datatransfer.StringSelection
import java.awt.Toolkit
object Class2Json {
@JvmStatic
fun main(args: Array<String>) {
val dataList = mutableListOf<Task>()
(1..10).forEach {
dataList.add(Task(it, "Task$it"))
}
var jsonString = formatJson(Gson().toJson(dataList))
copyToClipboard(jsonString)
System.out.println(jsonString)
}
private fun formatJson(content: String): String {
val gson = GsonBuilder().setPrettyPrinting().create()
val jsonParser = JsonParser()
val jsonElement = jsonParser.parse(content)
return gson.toJson(jsonElement)
}
private fun copyToClipboard(info: String) {
val clipboard = Toolkit.getDefaultToolkit().systemClipboard
val tText = StringSelection(info)
clipboard.setContents(tText, null)
}
}
- 数据类Task(根据实际情况修改数据类)
data class Task( val id: Int,
var name: String)
实现效果(运行后,json字符串会打印在终端并且会自动拷贝到剪贴板)
[
{
"id": 1,
"name": "Task1"
},
{
"id": 2,
"name": "Task2"
}
]
源代码
https://gitee.com/hspbc/class2Json
关于我
厦门大学计算机专业 | 前华为工程师
分享编程技术,没啥深度,但看得懂,适合初学者。
Java | 安卓 | 前端 | 小程序 | 鸿蒙
公众号:花生皮编程