erl*_*man 85 java json gson kotlin data-class
我有这样的Java POJO类:
class Topic {
@SerializedName("id")
long id;
@SerializedName("name")
String name;
}
Run Code Online (Sandbox Code Playgroud)
我有一个像这样的Kotlin数据类
data class Topic(val id: Long, val name: String)
Run Code Online (Sandbox Code Playgroud)
如何在java变量中提供类似注释的json key
任何变量?kotlin data class
@SerializedName
Ant*_*vin 187
数据类:
data class Topic(
@SerializedName("id") val id: Long,
@SerializedName("name") val name: String,
@SerializedName("image") val image: String,
@SerializedName("description") val description: String
)
Run Code Online (Sandbox Code Playgroud)
到JSON:
val gson = Gson()
val json = gson.toJson(topic)
Run Code Online (Sandbox Code Playgroud)
来自JSON:
val json = getJson()
val topic = gson.fromJson(json, Topic::class.java)
Run Code Online (Sandbox Code Playgroud)
Vas*_*huk 15
创建任何类数据并继承JSONConvertable接口
interface JSONConvertable {
fun toJSON(): String = Gson().toJson(this)
}
inline fun <reified T: JSONConvertable> String.toObject(): T = Gson().fromJson(this, T::class.java)
Run Code Online (Sandbox Code Playgroud)
数据类
data class User(
@SerializedName("id") val id: Int,
@SerializedName("email") val email: String,
@SerializedName("authentication_token") val authenticationToken: String) : JSONConvertable
Run Code Online (Sandbox Code Playgroud)
来自JSON
val json = "..."
val object = json.toObject<User>()
Run Code Online (Sandbox Code Playgroud)
致JSON
val json = object.toJSON()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
59496 次 |
最近记录: |