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
网友评论