Skip to content

Commit dcab137

Browse files
committed
Minor fix wrt handling of "extra" properties for POJOs-as-arrays
1 parent b0d7a1b commit dcab137

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

src/main/java/com/fasterxml/jackson/databind/deser/impl/BeanAsArrayDeserializer.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,8 @@ public Object deserialize(JsonParser p, DeserializationContext ctxt, Object bean
158158
return _deserializeFromNonArray(p, ctxt);
159159
}
160160

161-
/* No good way to verify that we have an array... although could I guess
162-
* check via JsonParser. So let's assume everything is working fine, for now.
163-
*/
161+
// No good way to verify that we have an array... although could I guess
162+
// check via JsonParser. So let's assume everything is working fine, for now.
164163
if (_injectables != null) {
165164
injectValues(ctxt, bean);
166165
}
@@ -259,7 +258,7 @@ protected Object _deserializeNonVanilla(JsonParser p, DeserializationContext ctx
259258
p.skipChildren();
260259
}
261260
// Ok; extra fields? Let's fail, unless ignoring extra props is fine
262-
if (!_ignoreAllUnknown) {
261+
if (!_ignoreAllUnknown && ctxt.isEnabled(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)) {
263262
ctxt.reportWrongTokenException(this, JsonToken.END_ARRAY,
264263
"Unexpected JSON values; expected at most %d properties (in JSON Array)",
265264
propCount);

src/test/java/com/fasterxml/jackson/databind/struct/TestPOJOAsArray.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -302,9 +302,8 @@ public void testUnknownExtraProp() throws Exception
302302
.without(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
303303
.readValue(json);
304304
assertNotNull(v);
305-
// note: +1 for both so
306-
assertEquals(v.value.x, 42);
307-
assertEquals(v.value.y, 13);
305+
assertEquals(42, v.value.x);
306+
assertEquals(13, v.value.y);
308307
assertTrue(v.value.complete);
309308
assertEquals("Foobar", v.value.name);
310309
}

0 commit comments

Comments
 (0)