クラス構造を以下のようにします
class item {
String link;
}
@JsonIgnoreProperties(ignoreUnknown=true)
class Result {
item[] items;
}
@JsonIgnoreProperties(ignoreUnknown=true) は、JSON 文字列にプロパティがあるが、それがクラスにない場合に完全に役立ちます。パーサーは例外を通過せず、単に無視します。
編集:例を含む完全なコード
class Item {
String link;
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
}
@JsonIgnoreProperties(ignoreUnknown = true)
class Result {
List<Item> items;
public List<Item> getItems() {
return items;
}
public void setItems(List<Item> items) {
this.items = items;
}
}
public class JsonCommonTest {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
String data = "{\"items\": [{\"link\": \"address1\"},{\"link\": \"address2 \"}]}";
Result result = mapper.readValue(data, Result.class);
System.out.println(result.items.size());
}
}