{"id":128258,"date":"2024-11-13T17:16:00","date_gmt":"2024-11-13T15:16:00","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=128258"},"modified":"2024-11-11T11:01:04","modified_gmt":"2024-11-11T09:01:04","slug":"create-avro-schema-with-list-of-objects","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html","title":{"rendered":"Create Avro Schema With List of Objects"},"content":{"rendered":"<p>Apache Avro is a powerful data serialization framework that enables efficient data exchange and storage. It is widely used in big data applications, particularly within the Hadoop ecosystem, due to its compact binary format and schema-based structure. Avro schemas, written in JSON, define the data types and structure, ensuring compatibility between systems. Let us delve into understanding how to create an Avro schema that effectively manages list-objects.<\/p>\n<h2><a name=\"section-1\"><\/a>1. Introduction<\/h2>\n<p><a href=\"https:\/\/avro.apache.org\/docs\/1.8.1\/gettingstartedjava.html\" target=\"_blank\" rel=\"noopener\">Apache Avro<\/a> is a framework for data serialization that provides a compact, fast, and binary format for data exchange. It is particularly useful in big data applications, such as those using Apache Hadoop. Avro is schema-based, meaning that the data structure is defined in a schema, which is written in JSON format. <\/p>\n<p>An Avro schema describes the data types and structure of the data being serialized. This allows for dynamic data processing and ensures compatibility between different systems. The schema is essential for both the serialization and deserialization processes, enabling efficient data interchange.<\/p>\n<h2><a name=\"section-2\"><\/a>2. Creating the Avro Schema<\/h2>\n<p>To define an Avro schema that includes a list of objects, you can use the following JSON structure. Suppose we want to create a schema for a <code>Person<\/code> that includes a list of <code>Address<\/code> objects.<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">\n{\n  \"type\": \"record\",\n  \"name\": \"Person\",\n  \"fields\": [\n    {\n      \"name\": \"name\",\n      \"type\": \"string\"\n    },\n    {\n      \"name\": \"age\",\n      \"type\": \"int\"\n    },\n    {\n      \"name\": \"addresses\",\n      \"type\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"record\",\n          \"name\": \"Address\",\n          \"fields\": [\n            {\n              \"name\": \"street\",\n              \"type\": \"string\"\n            },\n            {\n              \"name\": \"city\",\n              \"type\": \"string\"\n            },\n            {\n              \"name\": \"zipCode\",\n              \"type\": \"string\"\n            }\n          ]\n        }\n      }\n    }\n  ]\n}\n<\/pre>\n<p>In this schema, the <code>Person<\/code> record has a list of <code>Address<\/code> records, which includes fields for street, city, and zip code.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<h2><a name=\"section-3\"><\/a>3. Using the Schema in Java<\/h2>\n<p>To use the Avro schema in a Java application, you need to include the Avro library in your project. You can do this by adding the following dependency to your <code>pom.xml<\/code> if you are using Maven:<\/p>\n<pre class=\"brush:xml; wrap-lines:false;\">\n&lt;dependency&gt;\n&lt;groupId&gt;org.apache.avro&lt;\/groupId&gt;\n&lt;artifactId&gt;avro&lt;\/artifactId&gt;\n&lt;version&gt;1.10.2&lt;\/version&gt;\n&lt;\/dependency&gt;\n<\/pre>\n<p>After adding the dependency, you can generate Java classes from the Avro schema (Created above <code>person.avsc<\/code>) using the Avro tools. This can be done with the following command:<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">\njava -jar avro-tools-1.10.2.jar compile schema person.avsc .\n<\/pre>\n<h2><a name=\"section-4\"><\/a>4. Working With Generated Classes<\/h2>\n<p>Once you have generated the Java classes from your Avro schema, you can use them in your application to serialize and deserialize data. Here\u2019s an example of how to create a <code>Person<\/code> object and serialize it to a file:<\/p>\n<pre class=\"brush:java; wrap-lines:false;\">\nimport org.apache.avro.file.DataFileWriter;\nimport org.apache.avro.io.DatumWriter;\nimport org.apache.avro.specific.SpecificDatumWriter;\nimport java.io.File;\nimport java.util.Arrays;\n\npublic class AvroExample {\n    public static void main(String[] args) throws Exception {\n        \/\/ Create a Person object\n        Person person = Person.newBuilder()\n            .setName(\"John Doe\")\n            .setAge(30)\n            .setAddresses(Arrays.asList(\n                Address.newBuilder().setStreet(\"123 Main St\").setCity(\"New York\").setZipCode(\"10001\").build(),\n                Address.newBuilder().setStreet(\"456 Elm St\").setCity(\"Boston\").setZipCode(\"02110\").build()\n            ))\n            .build();\n\n        \/\/ Create a DatumWriter for the Person class\n        DatumWriter personDatumWriter = new SpecificDatumWriter(Person.class);\n\n        \/\/ Create a DataFileWriter to write the Person object to a file\n        DataFileWriter dataFileWriter = new DataFileWriter(personDatumWriter);\n        dataFileWriter.create(person.getSchema(), new File(\"person.avro\")); \/\/ Create the file with schema\n        dataFileWriter.append(person); \/\/ Append the Person object to the file\n        dataFileWriter.close(); \/\/ Close the file writer\n    }\n}\n<\/pre>\n<h3>4.1 Code Explanation<\/h3>\n<p>The given code defines a Java class named <code>AvroExample<\/code> that demonstrates how to serialize a <code>Person<\/code> object using Apache Avro. The <code>main<\/code> method serves as the entry point for the application.<\/p>\n<p>Inside the <code>main<\/code> method, a new <code>Person<\/code> object is created using the builder pattern. The <code>Person.newBuilder()<\/code> method initializes the builder, allowing us to set various attributes. The <code>setName<\/code> method assigns the name &#8220;John Doe&#8221; to the <code>Person<\/code> object, while the <code>setAge<\/code> method sets the age to 30.<\/p>\n<p>The <code>setAddresses<\/code> method is used to assign a list of <code>Address<\/code> objects to the <code>Person<\/code>. Each <code>Address<\/code> object is created using its builder, which allows us to specify the street, city, and zip code. In this example, two addresses are provided: one for &#8220;123 Main St, New York, 10001&#8221; and another for &#8220;456 Elm St, Boston, 02110&#8221;. After setting these values, the <code>build()<\/code> method is called to finalize the creation of the <code>Person<\/code> object.<\/p>\n<p>Next, a <code>DatumWriter<\/code> specific to the <code>Person<\/code> class is created using <code>SpecificDatumWriter<\/code>. This writer is responsible for converting the <code>Person<\/code> object into a format suitable for Avro serialization. A <code>DataFileWriter<\/code> is then instantiated with this <code>DatumWriter<\/code>, which will handle the process of writing the serialized data to a file.<\/p>\n<p>The <code>create<\/code> method of the <code>DataFileWriter<\/code> initializes a new file named <code>person.avro<\/code> using the schema retrieved from the <code>Person<\/code> object. This file will store the serialized data according to the defined schema. Following this, the <code>append<\/code> method is called to write the <code>person<\/code> object to the file.<\/p>\n<p>Finally, the <code>close<\/code> method is invoked on the <code>DataFileWriter<\/code> to ensure that all data is flushed to the file and that resources are released, completing the serialization process.<\/p>\n<h3>4.2 Code Output<\/h3>\n<p>Once the file is generated the following output will be written to the generated file.<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">\n{\"name\": \"John Doe\", \"age\": 30, \"addresses\": [\n    {\"street\": \"123 Main St\", \"city\": \"New York\", \"zipCode\": \"10001\"},\n    {\"street\": \"456 Elm St\", \"city\": \"Boston\", \"zipCode\": \"02110\"}\n]}\n<\/pre>\n<h2><a name=\"section-5\"><\/a>5. Conclusion<\/h2>\n<p>Apache Avro provides a robust and efficient way to work with data serialization in Java applications. By defining an Avro schema that includes a list of objects, you can easily manage complex data structures. This article covered the basics of Avro, how to create an Avro schema, use it in Java, and work with the generated classes. With Avro, you can ensure that your data is structured, consistent, and easily transferable across different systems.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apache Avro is a powerful data serialization framework that enables efficient data exchange and storage. It is widely used in big data applications, particularly within the Hadoop ecosystem, due to its compact binary format and schema-based structure. Avro schemas, written in JSON, define the data types and structure, ensuring compatibility between systems. Let us delve &hellip;<\/p>\n","protected":false},"author":26931,"featured_media":112,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[931,3124],"class_list":["post-128258","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-apache-avro","tag-avro"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Create Avro Schema With List of Objects - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Avro schema list objects: Learn how to create Avro schemas for managing lists of objects efficiently in your applications.\" \/>\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\/create-avro-schema-with-list-of-objects.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create Avro Schema With List of Objects - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Avro schema list objects: Learn how to create Avro schemas for managing lists of objects efficiently in your applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.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:published_time\" content=\"2024-11-13T15:16:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-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=\"Yatin Batra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yatin Batra\" \/>\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\\\/create-avro-schema-with-list-of-objects.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html\"},\"author\":{\"name\":\"Yatin Batra\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\"},\"headline\":\"Create Avro Schema With List of Objects\",\"datePublished\":\"2024-11-13T15:16:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html\"},\"wordCount\":670,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"keywords\":[\"Apache Avro\",\"avro\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html\",\"name\":\"Create Avro Schema With List of Objects - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"datePublished\":\"2024-11-13T15:16:00+00:00\",\"description\":\"Avro schema list objects: Learn how to create Avro schemas for managing lists of objects efficiently in your applications.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"java-interview-questions-answers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/create-avro-schema-with-list-of-objects.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\":\"Create Avro Schema With List of Objects\"}]},{\"@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\\\/cda31a4c1965373fed40c8907dc09b8d\",\"name\":\"Yatin Batra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"caption\":\"Yatin Batra\"},\"description\":\"An experience full-stack engineer well versed with Core Java, Spring\\\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).\",\"sameAs\":[\"https:\\\/\\\/www.javacodegeeks.com\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/yatin-batra\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Create Avro Schema With List of Objects - Java Code Geeks","description":"Avro schema list objects: Learn how to create Avro schemas for managing lists of objects efficiently in your applications.","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\/create-avro-schema-with-list-of-objects.html","og_locale":"en_US","og_type":"article","og_title":"Create Avro Schema With List of Objects - Java Code Geeks","og_description":"Avro schema list objects: Learn how to create Avro schemas for managing lists of objects efficiently in your applications.","og_url":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2024-11-13T15:16:00+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","type":"image\/jpeg"}],"author":"Yatin Batra","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Yatin Batra","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html"},"author":{"name":"Yatin Batra","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d"},"headline":"Create Avro Schema With List of Objects","datePublished":"2024-11-13T15:16:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html"},"wordCount":670,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","keywords":["Apache Avro","avro"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html","url":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html","name":"Create Avro Schema With List of Objects - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","datePublished":"2024-11-13T15:16:00+00:00","description":"Avro schema list objects: Learn how to create Avro schemas for managing lists of objects efficiently in your applications.","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","width":150,"height":150,"caption":"java-interview-questions-answers"},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/create-avro-schema-with-list-of-objects.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":"Create Avro Schema With List of Objects"}]},{"@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\/cda31a4c1965373fed40c8907dc09b8d","name":"Yatin Batra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","caption":"Yatin Batra"},"description":"An experience full-stack engineer well versed with Core Java, Spring\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).","sameAs":["https:\/\/www.javacodegeeks.com"],"url":"https:\/\/www.javacodegeeks.com\/author\/yatin-batra"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/128258","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\/26931"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=128258"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/128258\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/112"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=128258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=128258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=128258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}