gpt4 book ai didi

java - Jackson 使用 Linkedin Rest API 进行对象映射方法

转载 作者:行者123 更新时间:2023-12-02 07:38:48 25 4
gpt4 key购买 nike

在处理 Linkedin Rest API 时,很多字段的格式如下:

"positions":
{
"_total": 1,
"values": [{"title": "Software Developer"}]
}

而不是:

"positions":
{
[{"title": "Software Developer"}]
}

当我尝试将 json 映射到 Position 对象时,这会导致很多麻烦。我正在使用 Java 和 Jackson 来解析 JSON 响应。有没有办法设置对象映射器,以便它自动忽略“_total”和“values”字段?

最佳答案

我认为不可能配置 ObjectMapper 自动执行此操作。

您可以尝试编写自己的解析器,大致如下:

JsonFactory f = new JsonFactory();
JsonParser jp = f.createJsonParser(new File("positions.json"));
List<Position> positions = new LinkedList<Position>();
jp.nextToken(); // will return JsonToken.START_OBJECT (verify?)
while (jp.nextToken() != JsonToken.END_OBJECT) {
String fieldname = jp.getCurrentName();
jp.nextToken(); // move to value, or START_OBJECT/START_ARRAY
if ("positions".equals(fieldname)) { // contains an object
Position pos = new Position();
while (jp.nextToken() != JsonToken.END_OBJECT) {
String namefield = jp.getCurrentName();
jp.nextToken(); // move to value
if ("value".equals(namefield)) {
pos.setValue(jp.getText());
}
}
}
jp.close();

关于java - Jackson 使用 Linkedin Rest API 进行对象映射方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11850580/

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