美文网首页
如何在Kotlin中与Gson一起使用TypeToken +泛型

如何在Kotlin中与Gson一起使用TypeToken +泛型

作者: 寥瞭 | 来源:发表于2019-12-24 10:27 被阅读0次

class RosPublishResponse {

var msg:T? =null

    var id: String? =null

    var topic: String? =null

    var op: String? =null

}

open class BaseSubscribeMsg(var header: Header? =null)

data class RobotStatus(val robot_status: Int? = -1) : BaseSubscribeMsg(){}

创建内联方法

inline fun <reified T> Gson.fromJson(json: String) = this.fromJson<T>(json, object: TypeToken<T>() {}.type

使用

val resp ="{\"topic\": \"/robot_system_status\", \"msg\": {\"header\": {\"stamp\": {\"secs\": 1577094994, \"nsecs\": 417498327}, \"frame_id\": \"\", \"seq\": 14869}, \"robot_status\": 10}, \"op\": \"publish\"}"

val robotStatus= Gson().fromJson<RosPublishResponse<RobotStatus>>(resp)

进过封装后不用每次都去手动new TypeToken

相关文章

  • 如何在Kotlin中与Gson一起使用TypeToken +泛型

    class RosPublishResponse { var msg:T? =null var id: Str...

  • Gson解析泛型数据类型

    Gson解析泛型类型:Res Type type = new TypeToken(){}.getTyp...

  • Kotlin泛型与协变及逆变剖析

    Kotlin泛型与协变及逆变剖析 关于泛型的使用其实很简单,但是!!如文章开头所说,一直理解不了在Java框架中很...

  • Kotlin 泛型

    Kotlin 泛型 1. 泛型类 定义一个泛型类 使用 在继承中 使用 2. 泛型函数 使用 3. 泛型的擦除 无...

  • Gson对泛型的支持(TypeToken的使用)

    原文 简单的例子: 特别注意:TypeToken在创建对象的时候(编译时)就要指明类型,以下情况是错误的: 以上形...

  • 泛型

    与Java泛型相同,Kotlin同样提供了泛型支持。对于简单的泛型类、泛型函数的定义,Kotlin 与 Java ...

  • Kotlin 泛型

    Kotlin 中也有泛型的概念,和 Java 中的类似,但又不尽相同,一起来认识 Kotlin 中的泛型吧。 一、...

  • Kotlin---泛型

    Kotlin不变型泛型 Kotlin的不变型泛型和Java一样,通过声明泛型类型来使用泛型类。而该种泛型声明后,则...

  • 王学岗Gson解析和泛型和集合数据

    第一:解析集合数据 第二:解析泛型实体类 官方的建议,当目标类型含有泛型的时候,应该使用TypeToken;而不应...

  • GSON

    需要掌握的知识点 GSON的基本用法 属性重命名 @SerializedName 注解的使用 GSON使用泛型 利...

网友评论

      本文标题:如何在Kotlin中与Gson一起使用TypeToken +泛型

      本文链接:https://www.haomeiwen.com/subject/pauxoctx.html