从由密钥生成JSON创建POJO =>值阵列
问题描述:
{
"1": [
{
"idmapel": 1,
"label": "Fisika"
},
{
"idmapel": 2,
"label": "Kimia"
},
{
"idmapel": 3,
"label": "Biologi"
},
{
"idmapel": 4,
"label": "Matematika"
},
],
"2":[
{
"idmapel": 1,
"label": "Fisika"
}
]
}
一个JSON创建POJO当我从http://www.jsonschema2pojo.org/它创建了一个图1和2类产生,但可以想象,如果我有更多的比2键。我想能够通过这样的东西访问元素ObjectClass::getList(1)
或ObjectClass::getList(2)
答
您可以使用Map
来做到这一点。
Map<String, List<Pojo>> map = deserialize(jsonSring);
其中Pojo
是具有字段idmapel
和label
类,deserialize
是反序列化JSON到对象和jsonString
是JSON字符串值反序列化的方法。然后你可以访问列表中的键
List<Pojo> list1 = map.get("1");
List<Pojo> list2 = map.get("2");
+0
上的任何密钥似乎都是最好的方法,将尝试 –
你能详细说明吗?我想象的不止两个键,但似乎没有任何事情发生。你说它的工作原理 - 你担心可扩展性还是什么?如果是这样,你有什么担心? –
我正在从服务器检索这个翻新,结果可能包含关键1,2,3,..,N,依赖于数据,所以我想要的是我想能够通过密钥获得集合,如果我想要使用1个密钥获取集合,它应该可以通过ObjectClass :: get(key)进行访问,其中key是1,2,或者这个json –