代码之家  ›  专栏  ›  技术社区  ›  CL So

如何在Kotlin中使用gson反序列化到arraylist

  •  3
  • CL So  · 技术社区  · 7 年前

    我用这个类来存储数据

    public class Item(var name:String,
                      var description:String?=null){
    }
    

    在数组列表中使用它

    public var itemList = ArrayList<Item>()
    

    使用此代码序列化对象

    val gs=Gson()
    val itemListJsonString = gs.toJson(itemList)
    

    并反序列化

    itemList = gs.fromJson<ArrayList<Item>>(itemListJsonString, ArrayList::class.java)
    

    但是这个方法会给我 LinkedTreeMap 不是 Item ,我无法将LinkedTreeMap强制转换为项

    在Kotlin中,反序列化到JSON的正确方法是什么?

    1 回复  |  直到 7 年前
        1
  •  7
  •   SergeyBukarev    7 年前

    尝试使用此代码反序列化列表

    val gson = Gson()
    val itemType = object : TypeToken<List<Item>>() {}.type
    itemList = gson.fromJson<List<Item>>(itemListJsonString, itemType)