将Kotlin类转为json字符串,批量生成测试数据

时间:2024-05-31 12:26:56

简要介绍

项目中,有时需要json测试数据,需要一个简单的工具来方便根据已经定义的好的类批量生成json字符串.

解决方案

  1. 用IntelliJ IDEA创建一个gradle工程
    将Kotlin类转为json字符串,批量生成测试数据
  2. 添加依赖
implementation "com.google.code.gson:gson:2.8.5"
  1. 添加代码
  2. 关键处理类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)
    }
}
  1. 数据类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
点击关注专栏,查看最新技术分享
更多技术总结好文,请关注:「程序园中猿」
将Kotlin类转为json字符串,批量生成测试数据将Kotlin类转为json字符串,批量生成测试数据将Kotlin类转为json字符串,批量生成测试数据将Kotlin类转为json字符串,批量生成测试数据