Je suis en train de désérialiser un objet de typeComment sérialiser ArrayList de Pair utilisant gson
ArrayList<Pair<OuterData, ArrayList<InnerData>>>
où OuterData
et InnerData
sont POJO en utilisant gson.
J'ai essayé si fort mais je ne suis pas capable de le faire. Je reçois
java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap ne peut pas être jeté à v2015.oasis.pilani.bits.com.home.events.inner.InnerData
chaque fois que je tente de faire new Gson().fromJson(json, type);
où le type est obtenu à partir TypeToken à l'aide
new TypeToken<ArrayList<Pair<OuterData, ArrayList<InnerData>>>>(){}.getType()
Je pense que l'utilisation de Type résoudra mon problème car initialement je ne l'utiliserais pas mais ce n'est pas le cas. Toute aide est appréciée.
Edit: Voici les OuterData
et InnerData
classes (En Kotlin)
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)
J'utilise gson seulement pour sérialiser les données. Donc, la désérialisation utilise le même json sérialisé en utilisant gson.
Edit2: sérialisé JSON données: Il était la sérialisation de sortie en utilisant gson
[
{
"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": ""
}
]
}]
Pouvez-vous poster des exemples JSON et les classes que vous utilisez? –
J'ai modifié la question. Jetez un coup d'oeil s'il vous plait. –
Pouvez-vous s'il vous plaît poster quelques JSON aussi? – Ellisan