{"id":1547,"date":"2015-03-13T22:50:06","date_gmt":"2015-03-13T21:50:06","guid":{"rendered":"http:\/\/codingexplained.com\/?p=1547"},"modified":"2015-03-13T22:48:20","modified_gmt":"2015-03-13T21:48:20","slug":"ignoring-unrecognized-json-fields-spring-jackson","status":"publish","type":"post","link":"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson","title":{"rendered":"Ignoring Unrecognized JSON Fields With Spring &#038; Jackson"},"content":{"rendered":"<p>If you try to\u00a0bind JSON to an object in Spring\u00a0MVC with Jackson, then you might have seen the\u00a0below error before.<\/p>\n<blockquote><p>Could not read JSON: Unrecognized field \\&#8221;something\\&#8221; (class com.codingexplained.user.dto.account), not marked as ignorable [&#8230;]<\/p><\/blockquote>\n<p>This error occurs whenever an unknown\u00a0field is encountered in the JSON; that is, a field specified in the JSON is not available within the binding object. This may be undesirable, and one may just want to ignore if additional fields are provided, as long as the required fields are available. With Jackson, this can very easily be changed with a <span class=\"code\">@JsonIgnoreProperties<\/span> annotation, as in the below example.<\/p>\n<pre>\r\n<code>\r\n@JsonIgnoreProperties(ignoreUnknown = true)\r\npublic class AccountDto {\r\n\t...\r\n}\r\n<\/code>\r\n<\/pre>\n<p>Whenever JSON is mapped to an object of type <span class=\"code\">AccountDto<\/span>, an exception is no longer thrown if one or more JSON fields do not map to a field in the class. This could for instance be the case within a Spring MVC controller action as in the below example.<\/p>\n<pre>\r\n<code>\r\n@Controller\r\npublic class AccountController {\r\n\t@RequestMapping(value = &quot;\/account\/add&quot;, method = RequestType.POST)\r\n\tpublic String addAccount(@Valid @RequestBody AccountDto dto) {\r\n\t\treturn &quot;add-account&quot;;\r\n\t}\r\n}\r\n<\/code>\r\n<\/pre>\n<p>The same can also be accomplished programatically.<\/p>\n<pre>\r\n<code>\r\n\/\/ Jackson version 1.9 or earlier\r\nobjectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);\r\n\r\n\/\/ Jackson 2.0 or later\r\nobjectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);\r\n<\/code>\r\n<\/pre>\n<p>That&#8217;s it! Thank you for reading.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you try to\u00a0bind JSON to an object in Spring\u00a0MVC with Jackson, then you might have seen the\u00a0below error before. Could not read JSON: Unrecognized field \\&#8221;something\\&#8221; (class com.codingexplained.user.dto.account), not marked as ignorable [&#8230;] This error occurs whenever an unknown\u00a0field is encountered in the JSON; that is, a field specified in the JSON is not&hellip; <a href=\"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson\" class=\"more-link\">read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[8],"tags":[114,42,101,98,105],"series":[],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ignoring Unrecognized JSON Fields With Spring &amp; Jackson<\/title>\n<meta name=\"description\" content=\"Learn how to ignore unknown or unrecognized fields when binding JSON to an object with Spring Framework and Jackson, such as in Spring MVC controllers.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ignoring Unrecognized JSON Fields With Spring &amp; Jackson\" \/>\n<meta property=\"og:description\" content=\"Learn how to ignore unknown or unrecognized fields when binding JSON to an object with Spring Framework and Jackson, such as in Spring MVC controllers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson\" \/>\n<meta property=\"og:site_name\" content=\"Coding Explained\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/codingexplained\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/codingexplained\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-13T21:50:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-03-13T21:48:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/codingexplained.com\/wp-content\/uploads\/2015\/11\/codingexplained-fb-promote.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"444\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Bo Andersen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@codingexplained\" \/>\n<meta name=\"twitter:site\" content=\"@codingexplained\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bo Andersen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson\",\"url\":\"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson\",\"name\":\"Ignoring Unrecognized JSON Fields With Spring & Jackson\",\"isPartOf\":{\"@id\":\"https:\/\/codingexplained.com\/#website\"},\"datePublished\":\"2015-03-13T21:50:06+00:00\",\"dateModified\":\"2015-03-13T21:48:20+00:00\",\"author\":{\"@id\":\"https:\/\/codingexplained.com\/#\/schema\/person\/e19c92ec991f571605f047cefeaa950d\"},\"description\":\"Learn how to ignore unknown or unrecognized fields when binding JSON to an object with Spring Framework and Jackson, such as in Spring MVC controllers.\",\"breadcrumb\":{\"@id\":\"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/codingexplained.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ignoring Unrecognized JSON Fields With Spring &#038; Jackson\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/codingexplained.com\/#website\",\"url\":\"https:\/\/codingexplained.com\/\",\"name\":\"Coding Explained\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/codingexplained.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/codingexplained.com\/#\/schema\/person\/e19c92ec991f571605f047cefeaa950d\",\"name\":\"Bo Andersen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codingexplained.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/28f5826f9d5d544b0c5e1ec321dfdfb8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/28f5826f9d5d544b0c5e1ec321dfdfb8?s=96&d=mm&r=g\",\"caption\":\"Bo Andersen\"},\"description\":\"I am a back-end web developer with a passion for open source technologies. I have been a PHP developer for many years, and also have experience with Java and Spring Framework. I currently work full time as a lead developer. Apart from that, I also spend time on making online courses, so be sure to check those out!\",\"sameAs\":[\"https:\/\/codingexplained.com\",\"https:\/\/www.facebook.com\/codingexplained\",\"https:\/\/www.linkedin.com\/in\/ba0708\",\"https:\/\/twitter.com\/codingexplained\",\"https:\/\/www.youtube.com\/c\/codingexplained\"],\"url\":\"https:\/\/codingexplained.com\/author\/andy\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ignoring Unrecognized JSON Fields With Spring & Jackson","description":"Learn how to ignore unknown or unrecognized fields when binding JSON to an object with Spring Framework and Jackson, such as in Spring MVC controllers.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson","og_locale":"en_US","og_type":"article","og_title":"Ignoring Unrecognized JSON Fields With Spring & Jackson","og_description":"Learn how to ignore unknown or unrecognized fields when binding JSON to an object with Spring Framework and Jackson, such as in Spring MVC controllers.","og_url":"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson","og_site_name":"Coding Explained","article_publisher":"https:\/\/www.facebook.com\/codingexplained","article_author":"https:\/\/www.facebook.com\/codingexplained","article_published_time":"2015-03-13T21:50:06+00:00","article_modified_time":"2015-03-13T21:48:20+00:00","og_image":[{"width":1200,"height":444,"url":"https:\/\/codingexplained.com\/wp-content\/uploads\/2015\/11\/codingexplained-fb-promote.png","type":"image\/png"}],"author":"Bo Andersen","twitter_card":"summary_large_image","twitter_creator":"@codingexplained","twitter_site":"@codingexplained","twitter_misc":{"Written by":"Bo Andersen","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson","url":"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson","name":"Ignoring Unrecognized JSON Fields With Spring & Jackson","isPartOf":{"@id":"https:\/\/codingexplained.com\/#website"},"datePublished":"2015-03-13T21:50:06+00:00","dateModified":"2015-03-13T21:48:20+00:00","author":{"@id":"https:\/\/codingexplained.com\/#\/schema\/person\/e19c92ec991f571605f047cefeaa950d"},"description":"Learn how to ignore unknown or unrecognized fields when binding JSON to an object with Spring Framework and Jackson, such as in Spring MVC controllers.","breadcrumb":{"@id":"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/codingexplained.com\/coding\/java\/ignoring-unrecognized-json-fields-spring-jackson#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codingexplained.com\/"},{"@type":"ListItem","position":2,"name":"Ignoring Unrecognized JSON Fields With Spring &#038; Jackson"}]},{"@type":"WebSite","@id":"https:\/\/codingexplained.com\/#website","url":"https:\/\/codingexplained.com\/","name":"Coding Explained","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codingexplained.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/codingexplained.com\/#\/schema\/person\/e19c92ec991f571605f047cefeaa950d","name":"Bo Andersen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codingexplained.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/28f5826f9d5d544b0c5e1ec321dfdfb8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/28f5826f9d5d544b0c5e1ec321dfdfb8?s=96&d=mm&r=g","caption":"Bo Andersen"},"description":"I am a back-end web developer with a passion for open source technologies. I have been a PHP developer for many years, and also have experience with Java and Spring Framework. I currently work full time as a lead developer. Apart from that, I also spend time on making online courses, so be sure to check those out!","sameAs":["https:\/\/codingexplained.com","https:\/\/www.facebook.com\/codingexplained","https:\/\/www.linkedin.com\/in\/ba0708","https:\/\/twitter.com\/codingexplained","https:\/\/www.youtube.com\/c\/codingexplained"],"url":"https:\/\/codingexplained.com\/author\/andy"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3mJkW-oX","_links":{"self":[{"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/posts\/1547"}],"collection":[{"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/comments?post=1547"}],"version-history":[{"count":4,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/posts\/1547\/revisions"}],"predecessor-version":[{"id":1590,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/posts\/1547\/revisions\/1590"}],"wp:attachment":[{"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/media?parent=1547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/categories?post=1547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/tags?post=1547"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/series?post=1547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}