Json生成Kotlin data class的工具介绍

我们Android在中进行Api请求时,经常需要将Json转成本地Model,常见作法是使用gson等json解析库实现:

val model = gson.fromJson(textResponse, Model::class.java)

上面代码会通过反射创建一个Model对象,然后将json对应的字段设置到对象中,前提是保证Model的成员结构与Json一致。在Kotlin中我们可以使用data class声明Model,例如对于下面的Json:

{
    "info": {
        "message": "OK",
        "records": 1,
        "current_page": 1,
        "page_size": 1000
    }
}

对应的data class 定义如下:

data class Model(
    val info: Info,
) {
    data class Info(
        val current_page: Int,
        val message: String,
        val page_size: Int,
        val records: Int
    )
}

但是当Json结构很复杂时,我们想上面这样手动定义data class将会非常费力,幸好我们有趁手的工具可以用:

JsonToKotlinClass

JsonToKotlinClass是一个Android Studio插件,如果你经常需要根据json定义data class,不妨安装这个插件,它可以将任意json字符串生成data class,也可以在IDE中选中指定文件生成

源码在github上也已经开源https://github.com/wuseal/JsonToKotlinClass

Json2Kotlin.com

如果你只是偶尔有一次需要,也可以直接使用Json2Kotlin.com,在线生成。

jsonlint.com

当Json本身有错误时,可能在生成过程中会出现错误,所以到遇到错误时,可以先检查一下Json本身的正确性,https://jsonlint.com/

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fundroid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值