本文共 839 字,大约阅读时间需要 2 分钟。
我们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将会非常费力,幸好我们有趁手的工具可以用:
是一个Android Studio插件,如果你经常需要根据json定义data class,不妨安装这个插件,它可以将任意json字符串生成data class,也可以在IDE中选中指定文件生成
源码在github上也已经开源
如果你只是偶尔有一次需要,也可以直接使用,在线生成。
当Json本身有错误时,可能在生成过程中会出现错误,所以到遇到错误时,可以先检查一下Json本身的正确性,
转载地址:http://umfzk.baihongyu.com/