我的问题是我应该如何反序列化以及如何看待领域对象"特色"内部数组包含一个字符串和一个整数。 我正在使用带有gson的领域。我收到一个如下所示的JSON: `
{
"status":200,
"message":"",
"data":{
"specialties":[
[
"allergist",
1
],
[
"anesthesiologist",
1
],
[
"cardiologist",
1
],
[
"dermatologist",
0
],
[
"gastroenterologist",
1
],
[
"hematologist",
1
],
[
"nephrologist",
0
],
...
]
}
}
`
答案 0 :(得分:2)
从技术上讲,你的问题是这个
[
"allergist",
1
],
完全应该是一个对象,比如
{
"speciality": "allergist",
"value": 1
}
在这种情况下,Realm可以轻松处理它,但事实并非如此,您需要将这些[["hello", 2], ["world", 3]]
对象映射/转换为可用作类型的对象RealmObject
然后坚持下去。因为目前这是List<List<Object>>
。
答案 1 :(得分:1)
在这种情况下,这不是Realm可以支持的。 Realm目前不支持列表列表(我在这里创建了一个问题:https://github.com/realm/realm-java/issues/2549)。但即使解决了这个问题,你仍然需要找到列表的通用类型。 Realm不允许您保存任意对象。在您的情况下,您可能必须将整数转换为字符串。
现在解决方法是将每个子列表转换为类型化对象。那将要求你为它编写一个自定义GSON解串器。这里有一个如何做到这一点的指南:https://realm.io/docs/java/latest/#primitive-lists