Gson反序列化-避免包装器类

时间:2018-10-29 09:39:19

标签: android json kotlin gson

我正在尝试在Kotlin中使用Gson反序列化以下JSON。

{
  "things": [
    {
      "name": "Thing1"
    },
    {
      "name": "Thing2"
    }
  }
}

现在我要反序列化为2个课程;

  1. ThingWrapper-具有一个属性,即作为列表的“事物”
  2. 事物-具有名称属性

在我的服务中,我只是从“事物”返回List<Thing>,而从未暴露ThingWrapper。

fun getThings(): List<Thing> {
   return Gson().fromJson(json, ThingWrapper::class.java).things
}

我的问题是我可以使用Gson进行反序列化,从而完全避免使用ThingWrapper类吗?

预先感谢, 约翰

1 个答案:

答案 0 :(得分:1)

如果要消除Wrapper类,可以使用file:/C:/Program Files (x86)/IBM/WebSphere/AppServer/plugins/javax.j2ee.persistence.jar类来解析对象,然后从中提取JSON数组。

JSONObject
  

I /输出:[事物(名称=事物1),事物(名称=事物2)]

这对我有用。

相关问题