我正在尝试反序列化类型为
arraylist
每当我尝试执行new Gson().fromjson(json,type);
其中类型是使用TypeToken从TypeToken获取的
new TypeToken<ArrayList<Pair<OuterData, ArrayList<InnerData>>>>(){}.getType()
我认为使用类型会解决我的问题,因为最初我不想使用它,但它没有。感谢任何帮助。
data class InnerData(val name: String,
val category: String,
val categoryIcon: Int,
val description: String,
val rules: String,
val time: String,
val date: String,
val venue: String,
val notifyState: Boolean,
val notifyTime: Int,
val favouriteState: Boolean)
data class OuterData(val heading: String, val color: Int)
[
{
"first": {
"color": -65281,
"heading": "October 01"
},
"second": [
{
"category": "",
"categoryIcon": 17301533,
"date": "",
"description": "sfd",
"favouriteState": false,
"name": "sdfds",
"notifyState": false,
"notifyTime": 0,
"rules": "",
"time": "",
"venue": ""
}
]
},
{
"first": {
"color": -65281,
"heading": "November 01"
},
"second": [
{
"category": "",
"categoryIcon": 17301533,
"date": "djfkd",
"description": "klddjflk",
"favouriteState": false,
"name": "jkl",
"notifyState": false,
"notifyTime": 0,
"rules": "",
"time": "sdkjfk",
"venue": "ldkfjf"
}
]
},
{
"first": {
"color": -16175867,
"heading": "October 31"
},
"second": [
{
"category": "Event Category",
"categoryIcon": 17301533,
"date": "31-10-2017",
"description": "Event Description",
"favouriteState": false,
"name": "Event name",
"notifyState": false,
"notifyTime": 0,
"rules": "Events Rules",
"time": "13:55",
"venue": "Event Venue"
},
{
"category": "",
"categoryIcon": 17301533,
"date": "",
"description": "",
"favouriteState": false,
"name": "dsf",
"notifyState": false,
"notifyTime": 0,
"rules": "",
"time": "",
"venue": ""
},
{
"category": "",
"categoryIcon": 17301533,
"date": "",
"description": "",
"favouriteState": false,
"name": "",
"notifyState": false,
"notifyTime": 0,
"rules": "",
"time": "",
"venue": ""
},
{
"category": "",
"categoryIcon": 17301533,
"date": "",
"description": "",
"favouriteState": false,
"name": "",
"notifyState": false,
"notifyTime": 0,
"rules": "",
"time": "",
"venue": ""
},
{
"category": "",
"categoryIcon": 17301533,
"date": "",
"description": "",
"favouriteState": false,
"name": "",
"notifyState": false,
"notifyTime": 0,
"rules": "",
"time": "",
"venue": ""
},
{
"category": "",
"categoryIcon": 17301533,
"date": "",
"description": "",
"favouriteState": false,
"name": "",
"notifyState": false,
"notifyTime": 0,
"rules": "",
"time": "",
"venue": ""
},
{
"category": "",
"categoryIcon": 17301533,
"date": "",
"description": "",
"favouriteState": false,
"name": "",
"notifyState": false,
"notifyTime": 0,
"rules": "",
"time": "",
"venue": ""
},
{
"category": "",
"categoryIcon": 17301533,
"date": "",
"description": "",
"favouriteState": false,
"name": "",
"notifyState": false,
"notifyTime": 0,
"rules": "",
"time": "",
"venue": ""
},
{
"category": "",
"categoryIcon": 17301533,
"date": "",
"description": "",
"favouriteState": false,
"name": "",
"notifyState": false,
"notifyTime": 0,
"rules": "",
"time": "",
"venue": ""
}
]
}]
我搞定了。问题是我使用的是Kotlin的Pair类。当我定义了我自己的简单Pair类时,一切都正确地进行了。
问题内容: 我想使用套接字(在开发远程PC时)从Android客户端向Java服务器发送2个对象。 当然我知道上面的方法是行不通的,因为它可以提供。所以现在我想知道如何使用Gson库对对象进行序列化和反序列化。提前致谢。 问题答案: gson可以在任何平台上与Java一起使用-不仅限于Android。 使用gson序列化单个对象: 使用gson反序列化为单个对象。 从示例中可以看到,gson非常神
主要内容:示例我们将一个Java对象序列化为一个Json文件,然后读取该Json文件以获取对象。 在这个例子中,创建一个类。 然后将对象列化后存储在文件中,该文件将具有对象的json表示形式。 示例 在中创建一个名为的Java类文件,参考以下代码 - 执行上面示例代码,得到以下结果 -
我想将这个对象序列化为JSON字符串 并得到如下结果: 我试着用 但不是这样,我得到了: 个性化序列化: 欢迎提出任何建议 谢谢,马里奥
我使用下面的方法(来自spark-java framework的方法)从DB返回的数据如下: 从DB返回的数据: ClasStypeAdapterFactory: 类类型适配器: 这里我使用的是,它从spark-java ResponseTransformer接口实现了
问题内容: 我在尝试序列化包含 即使我写了: 并应用: 我仍然无法序列化此类: Stacktrace :(在pastebin上完整) 有什么办法吗? 问题答案: 您的问题是那是一个。假设您使用它将在Windows PC上创建类似的实例。现在,您必须告诉GSON如何反序列化此类型: 您可以使用的另一种方法是: typeHierarchyAdapter的目的是在您希望为类型的所有子类型使用相同的表示形
问题内容: 我想使用套接字(在开发远程PC时)从Android客户端向Java服务器发送2个对象。 当然我知道上面的方法是行不通的,因为它可以提供。因此,现在我想知道如何使用Gson库对对象进行序列化和反序列化。提前致谢。 问题答案: gson可以在任何平台上与Java一起使用-不仅限于Android。 使用gson序列化单个对象: 使用gson反序列化为单个对象。 从示例中可以看到,gson非常