简要介绍
项目中,有时需要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://github.com/cxyzy1/class2Json
安卓开发技术分享: https://blog.****.net/yinxing2008/article/details/84555061
点击关注专栏,查看最新技术分享
更多技术总结好文,请关注:「程序园中猿」