【问题标题】:common function for creating string to json with gson android使用gson android创建字符串到json的常用函数
【发布时间】:2019-12-26 05:31:00
【问题描述】:

我想创建一个可以使用 Gson 将字符串转换为 JSON 的函数,就像我将响应 JSON 传递给该函数一样,否则该函数将返回一个对象 例如。

fun convertJsonToModel(response:string,/*class that i want to convert*/){
  val gson = Gson()
  gson.fromJson(jsonString, /*class that i pass i args*/)
  return /* same class object that i pass in args*/
}

I want to use like this

var model1 = convertJsonToModel(response,Model1.class)
var model2 = convertJsonToModel(response,Model2.class)
var model3 = convertJsonToModel(response,Model3.class)

我不知道如何在函数 args 中传递一个类,然后返回转换后的对象 请帮忙

【问题讨论】:

标签: java android json kotlin gson


【解决方案1】:

你可以使用Gson的fromJson()

val gson = Gson()
gson.fromJson(jsonString, ModelClass.class)

如果您想要将您的常用函数作为包装器:

fun <T> convertJsonToModel(jsonString: String, modelClass: Class<T>): T {
    val gson = Gson()
    return gson.fromJson(jsonString, modelClass)
}

【讨论】:

  • 我想做一个通用函数来转换这个
  • 为什么不使用这个方法本身而不是自己创建呢?它已经内置在 Gson 中
【解决方案2】:

此外,您也可以创建一个扩展功能,如下所示,

fun <T> String.toObject(targetClass: Class<T>): T {
val gson = Gson()
return gson.fromJson(this, targetClass)
}

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多