{"id":75825,"date":"2018-04-12T13:00:19","date_gmt":"2018-04-12T10:00:19","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=75825"},"modified":"2018-04-17T14:52:29","modified_gmt":"2018-04-17T11:52:29","slug":"get-to-know-json-patch-json-p-1-1-overview-series","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html","title":{"rendered":"Get to Know JSON Patch: JSON-P 1.1 Overview Series"},"content":{"rendered":"<p>Java EE 8 includes an update to the JSON Processing API and brings it up to date with the latest IEFT standards for JSON. They are:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-pointer-json-p-1-1-overview-series.html\">JSON Pointer<\/a> RFC 6901<\/li>\n<li><a href=\"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html\">JSON Patch<\/a> RFC 6902<\/li>\n<li>JSON Merge Patch RFC 7396<\/li>\n<\/ul>\n<p>I will cover these topics in this mini-series.<\/p>\n<h2>Getting Started<\/h2>\n<p>To get started with JSON-P you will need the following dependencies from the Maven central repository.<\/p>\n<pre class=\"brush:xml\">&lt;dependency&gt;\r\n \u00a0\u00a0\u00a0&lt;groupId&gt;javax.json&lt;\/groupId&gt;\r\n \u00a0\u00a0\u00a0&lt;artifactId&gt;javax.json-api&lt;\/artifactId&gt;\r\n \u00a0\u00a0\u00a0&lt;version&gt;1.1&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n\r\n&lt;dependency&gt;\r\n \u00a0\u00a0\u00a0&lt;groupId&gt;org.glassfish&lt;\/groupId&gt;\r\n \u00a0\u00a0\u00a0&lt;artifactId&gt;javax.json&lt;\/artifactId&gt;\r\n \u00a0\u00a0\u00a0&lt;version&gt;1.1&lt;\/version&gt;\r\n&lt;\/dependency&gt;<\/pre>\n<h3>JSON Patch<\/h3>\n<p>JSON Patch expresses a sequence of operations to apply against a target JSON document. The operations are formatted in JSON-Pointer notation and can perform: <strong><em>add<\/em><\/strong>, <strong><em>copy<\/em><\/strong>, <strong><em>move<\/em><\/strong>, <strong><em>remove<\/em><\/strong>, <em><strong>replace<\/strong> <\/em>and <em><strong>test<\/strong> <\/em>operations.<\/p>\n<p>The <em><strong>JsonPatchBuilder<\/strong> <\/em>interface is the gateway into this API and is created from the static method <em><strong>createPatchBuilder()<\/strong><\/em> in the <strong><em>Json\u00a0<\/em><\/strong>class. A JSON Pointer expression is passed to one of the operation methods and applied to a JSON document.<\/p>\n<h3>The Replace Operation<\/h3>\n<p>The replace operation is performed by the <strong><em>replace()<\/em> <\/strong>method and passing it the location of the element to replace expressed as a JSON Pointer expression and the replacement value.<\/p>\n<pre class=\"brush:java\">{\r\n\"title\": \"Java EE: Only What's New\",\r\n\"author\": \"Alex Theedom\",\r\n\"chapters\": [\r\n\u00a0 \"Chapter 1: Java EE 8 What\u2019s New Overview\",\r\n\u00a0 \"Chapter 2: Java API for JSON Binding 1.0 (JSR 367)\",\r\n\u00a0 \"Chapter 3: Java EE Security API 1.0 (JSR 375)\"\r\n],\r\n\"released\": true,\r\n\"pages\": 300,\r\n\"sourceCode\": {\r\n\u00a0 \"repositoryName\": \"Java-EE-8-Only-Whats-New\",\r\n\u00a0 \"url\": \"github.com\/readlearncode\/\"\r\n},\r\n\"otherBooks\": [\r\n\u00a0 {\r\n\u00a0 \u00a0 \"title\": \"Professional Java EE Design Patterns\",\r\n\u00a0 \u00a0 \"length\": 350\r\n\u00a0 }\r\n]\r\n}\r\n\r\nJsonObject jsonObject = ... create JSONObject from JSON document ...;<\/pre>\n<p>In the code snippet below and given the JSON document above, the value of the first element of the <em><strong>chapters<\/strong> <\/em>array, represented by the JSON pointer expression <strong><em>\/chapters\/0<\/em><\/strong>, is replaced by the value <strong><em>Chapter 1: Introduction<\/em><\/strong>.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<pre class=\"brush:java\">JsonPatchBuilder builder = Json.createPatchBuilder();\r\n\r\nJsonPatch jsonPatch = builder\r\n\u00a0 \u00a0 \u00a0.replace(\"\/chapters\/0\", \"Chapter 1: Introduction\")\r\n\u00a0 \u00a0 \u00a0.build();\r\n\r\nJsonObject newJsonObject = jsonPatch.apply(jsonObject);<\/pre>\n<p>The <strong><em>apply()<\/em><\/strong> method returns an instance of the <em><strong>JsonStructure<\/strong> <\/em>class.<\/p>\n<h3>The Add and Remove Operations<\/h3>\n<p>A key feature of JSON Patch is the capability to chain multiple operations together and applied them sequentially to the result of the previous patch result. If an exception is thrown during the patch operation it ceases operation and no changes are made to the original JSON document.<\/p>\n<p>The code example below shows how to add and remove elements from a JSON document.<\/p>\n<pre class=\"brush:java\">JsonObject newJsonObject = Json.createPatchBuilder()\r\n\u00a0 \u00a0 \u00a0 .add(\"\/chapters\/3\", \"Chapter 4: Servlets 4.0\")\r\n\u00a0 \u00a0 \u00a0 .remove(\"\/released\")\r\n\u00a0 \u00a0 \u00a0 .build()\r\n\u00a0 \u00a0 \u00a0 .apply(jsonObject);<\/pre>\n<p>The <strong><em>add()<\/em> <\/strong>method takes a JSON Pointer expression which identifies the element where to insert new data. The second element is the new data to insert.<\/p>\n<p>To remove an element pass the JSON Pointer of the element to remove to the<strong> <em>remove()<\/em><\/strong> method.<\/p>\n<h3>The Move and Copy Operations<\/h3>\n<p>The <strong>move operation<\/strong> requires two JSON Pointer expressions:<\/p>\n<ul>\n<li>one for the element to move and<\/li>\n<li>one for the target location to where the value will be moved.<\/li>\n<\/ul>\n<p>The target location must already exist and follows the same logic as the add operation in the sense that it displaces the element at the specified location with the element to move. All elements are effectively shifted down one position.<\/p>\n<p>The<strong> copy operation<\/strong> replaces an element\u2019s value with the value of another element. This operations also requires two JSON pointer expressions: one for the source value and one for the target\u2019s location.<\/p>\n<p>The code snippet below chains three operations together: two move operations and a copy operation.<\/p>\n<pre class=\"brush:java\">JsonObject newJsonObject = Json.createPatchBuilder()\r\n\u00a0 \u00a0 \u00a0 .move(\"\/chapters\/0\", \"\/chapters\/2\")\r\n\u00a0 \u00a0 \u00a0 .move(\"\/chapters\/2\", \"\/chapters\/1\")\r\n\u00a0 \u00a0 \u00a0 .copy(\"\/otherBooks\/0\/length\", \"\/pages\")\r\n\u00a0 \u00a0 \u00a0 .build()\r\n\u00a0 \u00a0 \u00a0 .apply(jsonObject);<\/pre>\n<p>The move operation moves the value located in the third position of the <em><strong>chapters<\/strong> <\/em>array to the first position, then moves the element in the second position to the third position. The copy operation copies the value of <em><strong>pages<\/strong> <\/em>key to the <em><strong>length<\/strong> <\/em>key of the first element in the <strong><em>otherBooks\u00a0<\/em><\/strong>array.<\/p>\n<h3>The Test Operation<\/h3>\n<p>The test operation determines if the specified value is set in the JSON document. If the test fails the patch operations ceases, otherwise it goes ahead and completes the remaining operations.<\/p>\n<p>In the code snippet, the element <strong><em>\/pages<\/em><\/strong> is tested. If its value is 300 the copy operation continues, otherwise a <em><strong>JsonException<\/strong> <\/em>is thrown.<\/p>\n<pre class=\"brush:java\">JsonObject newJsonObject = Json.createPatchBuilder()\r\n\u00a0 \u00a0 \u00a0 .test(\"\/pages\", 300)\r\n\u00a0 \u00a0 \u00a0 .copy(\"\/otherBooks\/0\/length\", \"\/pages\") \/\/ destination, source\r\n\u00a0 \u00a0 \u00a0 .build()\r\n\u00a0 \u00a0 \u00a0 .apply(jsonObject);<\/pre>\n<h2>Conclusion<\/h2>\n<p>Well, that\u2019s it for the second article\u00a0in this mini-series about JSON Processing\u2019s new features.<\/p>\n<p>That\u2019s all for now.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>Published on Java Code Geeks with permission by Alex Theedom, partner at our <a href=\"\/\/www.javacodegeeks.com\/join-us\/jcg\/\" target=\"_blank\" rel=\"noopener\">JCG program<\/a>. See the original article here: <a href=\"https:\/\/readlearncode.com\/java-ee\/java-ee-8-json-processing-1-1-json-patch-overview\/\" target=\"_blank\" rel=\"noopener\">Get to Know JSON Patch: JSON-P 1.1 Overview Series<\/a><\/p>\n<p>Opinions expressed by Java Code Geeks contributors are their own.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Java EE 8 includes an update to the JSON Processing API and brings it up to date with the latest IEFT standards for JSON. They are: JSON Pointer RFC 6901 JSON Patch RFC 6902 JSON Merge Patch RFC 7396 I will cover these topics in this mini-series. Getting Started To get started with JSON-P you &hellip;<\/p>\n","protected":false},"author":500,"featured_media":175,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[69],"class_list":["post-75825","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-json"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Get to Know JSON Patch: JSON-P 1.1 Overview Series - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Java EE 8 includes an update to the JSON Processing API and brings it up to date with the latest IEFT standards for JSON. They are: JSON Pointer RFC 6901\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Get to Know JSON Patch: JSON-P 1.1 Overview Series - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Java EE 8 includes an update to the JSON Processing API and brings it up to date with the latest IEFT standards for JSON. They are: JSON Pointer RFC 6901\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:author\" content=\"http:\/\/www.facebook.com\/alex.theedom.j2ee\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-12T10:00:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-04-17T11:52:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/json-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Alex Theedom\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@alextheedom\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alex Theedom\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html\"},\"author\":{\"name\":\"Alex Theedom\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/39c928afe0429ad2d2742a8b79ec8bce\"},\"headline\":\"Get to Know JSON Patch: JSON-P 1.1 Overview Series\",\"datePublished\":\"2018-04-12T10:00:19+00:00\",\"dateModified\":\"2018-04-17T11:52:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html\"},\"wordCount\":620,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/json-logo.jpg\",\"keywords\":[\"JSON\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html\",\"name\":\"Get to Know JSON Patch: JSON-P 1.1 Overview Series - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/json-logo.jpg\",\"datePublished\":\"2018-04-12T10:00:19+00:00\",\"dateModified\":\"2018-04-17T11:52:29+00:00\",\"description\":\"Java EE 8 includes an update to the JSON Processing API and brings it up to date with the latest IEFT standards for JSON. They are: JSON Pointer RFC 6901\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/json-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/json-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2018\\\/04\\\/get-to-know-json-patch-json-p-1-1-overview-series.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Get to Know JSON Patch: JSON-P 1.1 Overview Series\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/39c928afe0429ad2d2742a8b79ec8bce\",\"name\":\"Alex Theedom\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6d875f8b02b9be72e4dcae0e790c2edc5416eac63cad6e1474d370f884605062?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6d875f8b02b9be72e4dcae0e790c2edc5416eac63cad6e1474d370f884605062?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6d875f8b02b9be72e4dcae0e790c2edc5416eac63cad6e1474d370f884605062?s=96&d=mm&r=g\",\"caption\":\"Alex Theedom\"},\"description\":\"Alex Theedom is a Senior Java Developer and has recently played a pivotal role in the architectural design and development of a microservice based, custom built lottery and instant win game platform. Alex has experience of Java web application development in a diverse range of fields including finance, e-learning, lottery and software development. He is the co-author of Professional Java EE Design Patterns and many articles.\",\"sameAs\":[\"https:\\\/\\\/readlearncode.com\\\/\",\"http:\\\/\\\/www.facebook.com\\\/alex.theedom.j2ee\",\"http:\\\/\\\/www.linkedin.com\\\/pub\\\/alex-theedom\\\/42\\\/90b\\\/910\",\"https:\\\/\\\/x.com\\\/alextheedom\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/alex-theedom\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Get to Know JSON Patch: JSON-P 1.1 Overview Series - Java Code Geeks","description":"Java EE 8 includes an update to the JSON Processing API and brings it up to date with the latest IEFT standards for JSON. They are: JSON Pointer RFC 6901","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:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html","og_locale":"en_US","og_type":"article","og_title":"Get to Know JSON Patch: JSON-P 1.1 Overview Series - Java Code Geeks","og_description":"Java EE 8 includes an update to the JSON Processing API and brings it up to date with the latest IEFT standards for JSON. They are: JSON Pointer RFC 6901","og_url":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_author":"http:\/\/www.facebook.com\/alex.theedom.j2ee","article_published_time":"2018-04-12T10:00:19+00:00","article_modified_time":"2018-04-17T11:52:29+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/json-logo.jpg","type":"image\/jpeg"}],"author":"Alex Theedom","twitter_card":"summary_large_image","twitter_creator":"@alextheedom","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Alex Theedom","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html"},"author":{"name":"Alex Theedom","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/39c928afe0429ad2d2742a8b79ec8bce"},"headline":"Get to Know JSON Patch: JSON-P 1.1 Overview Series","datePublished":"2018-04-12T10:00:19+00:00","dateModified":"2018-04-17T11:52:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html"},"wordCount":620,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/json-logo.jpg","keywords":["JSON"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html","url":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html","name":"Get to Know JSON Patch: JSON-P 1.1 Overview Series - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/json-logo.jpg","datePublished":"2018-04-12T10:00:19+00:00","dateModified":"2018-04-17T11:52:29+00:00","description":"Java EE 8 includes an update to the JSON Processing API and brings it up to date with the latest IEFT standards for JSON. They are: JSON Pointer RFC 6901","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/json-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/json-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2018\/04\/get-to-know-json-patch-json-p-1-1-overview-series.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Get to Know JSON Patch: JSON-P 1.1 Overview Series"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/39c928afe0429ad2d2742a8b79ec8bce","name":"Alex Theedom","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/6d875f8b02b9be72e4dcae0e790c2edc5416eac63cad6e1474d370f884605062?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6d875f8b02b9be72e4dcae0e790c2edc5416eac63cad6e1474d370f884605062?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d875f8b02b9be72e4dcae0e790c2edc5416eac63cad6e1474d370f884605062?s=96&d=mm&r=g","caption":"Alex Theedom"},"description":"Alex Theedom is a Senior Java Developer and has recently played a pivotal role in the architectural design and development of a microservice based, custom built lottery and instant win game platform. Alex has experience of Java web application development in a diverse range of fields including finance, e-learning, lottery and software development. He is the co-author of Professional Java EE Design Patterns and many articles.","sameAs":["https:\/\/readlearncode.com\/","http:\/\/www.facebook.com\/alex.theedom.j2ee","http:\/\/www.linkedin.com\/pub\/alex-theedom\/42\/90b\/910","https:\/\/x.com\/alextheedom"],"url":"https:\/\/www.javacodegeeks.com\/author\/alex-theedom"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/75825","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/500"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=75825"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/75825\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/175"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=75825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=75825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=75825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}