package com.fasterxml.jackson.failing; import java.math.BigDecimal; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.*; public class RecursiveIgnoreProperties1755Test extends BaseMapTest { // for [databind#1755] static class JackBase1755 { public String id; } static class JackExt extends JackBase1755 { public BigDecimal quantity; public String ignoreMe; @JsonIgnoreProperties({"ignoreMe"}) public List linked; public List metadata; } static class KeyValue { public String key; public String value; } // for [databind#1755] private final ObjectMapper MAPPER = newJsonMapper(); public void testRecursiveIgnore1755() throws Exception { final String JSON = aposToQuotes("{\n" +"'id': '1',\n" +"'quantity': 5,\n" +"'ignoreMe': 'yzx',\n" +"'metadata': [\n" +" {\n" +" 'key': 'position',\n" +" 'value': '2'\n" +" }\n" +" ],\n" +"'linked': [\n" +" {\n" +" 'id': '1',\n" +" 'quantity': 5,\n" +" 'ignoreMe': 'yzx',\n" +" 'metadata': [\n" +" {\n" +" 'key': 'position',\n" +" 'value': '2'\n" +" }\n" +" ]\n" +" }\n" +" ]\n" +"}"); JackExt value = MAPPER.readValue(JSON, JackExt.class); assertNotNull(value); } }