gpt4 book ai didi

java - Jackson JSON 映射键作为包含对象的属性

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:27:55 27 4
gpt4 key购买 nike

给定这样的结构:

{
"nameOfObject": { "score": 100 },
"anotherObject": { "score": 30 }
}

是否可以将其映射到:

class Container {
Map<String, ScoreKeeper> scoreKeepers;
}

class ScoreKeeper {
String name;
int score;
}

这样您就可以将 ScoreKeeper 实例的 name 属性设置为 "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);
}

关于java - Jackson JSON 映射键作为包含对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19247814/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com