给定这样的结构:
{
"nameOfObject": { "score": 100 },
"anotherObject": { "score": 30 }
}
Run Code Online (Sandbox Code Playgroud)
是否可以将其映射到:
class Container {
Map<String, ScoreKeeper> scoreKeepers;
}
class ScoreKeeper {
String name;
int score;
}
Run Code Online (Sandbox Code Playgroud)
那么你最终name
得到的ScoreKeeper
实例的属性分别设置为"nameOfObject"
和"anotherObject"
?
我坚信将 POJO 与外部化分开。将 JSON 读入 Map,然后构建 Container/ScoreKeeper 对象,如下所示(针对任何拼写错误的 apols):
mapper = new ObjectMapper();
Map<String,Object> data = mapper.readValue(inputstream, Map.class);
Container c = new Container();
for(Map.Entry<String, Object> me : data.entrySet()) {
String key = me.getKey();
Map info = (Map) me.getValue();
ScoreKeeper sk = new ScoreKeeper();
sk.setName(key);
Integer q = info.get("score");
sk.setScore(q);
c.put(key, sk);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2928 次 |
最近记录: |