{"id":1468,"date":"2012-07-28T15:00:00","date_gmt":"2012-07-28T15:00:00","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/2012\/10\/java-talking-to-ios-java-objects-to-apple-plist-serialization.html"},"modified":"2012-10-22T05:50:26","modified_gmt":"2012-10-22T05:50:26","slug":"java-talking-to-ios-java-objects-to","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html","title":{"rendered":"Java talking to iOS: Java objects to Apple plist serialization"},"content":{"rendered":"<div dir=\"ltr\" style=\"text-align: left\">\n<div style=\"text-align: justify\">I am happy to announce my first open source project <a href=\"https:\/\/github.com\/maciejwalkowiak\/java-plist-serializer\">java-plist-serializer<\/a> that can help you with integrating Java and especially Spring based applications with iOS applications.         <strong>&nbsp;<\/strong><\/div>\n<div style=\"text-align: justify\">\n<\/div>\n<div style=\"text-align: justify\"><strong>Background<\/strong>        <\/div>\n<div style=\"text-align: justify\">\n<\/div>\n<div style=\"text-align: justify\">I am working on project that has Java webapp as a backend and clients are iOS devices. Recently I\u2019ve received task to create Web Service that returns <strong>plist<\/strong> \u2013 <strong><a href=\"http:\/\/developer.apple.com\/library\/mac\/#documentation\/Cocoa\/Conceptual\/PropertyLists\/Introduction\/Introduction.html\">Property List<\/a><\/strong> data format used in <strong>iOS<\/strong> \u2013 as a response. Why plist and not JSON or classic XML? If you have to develop for iOS &lt; 5.0 &#8211; there are no native classes to deserialize JSON. Property List format is supported by core iOS libraries so deserialization to NSDictionary is super fast and efficient.          <\/div>\n<div style=\"text-align: justify\">\n<\/div>\n<div style=\"text-align: justify\">There are few plist \u2013 related libraries for Java but each of them requires to do a lot of manual work and rewrite Java objects step by step into Java equivalents of Apple NS* classes. I think nobody likes this kind of task. Thats why I have developed library for serializing Java objects into Plist in similar way to <a href=\"http:\/\/xstream.codehaus.org\/\">XStream<\/a> <a href=\"http:\/\/xstream.codehaus.org\/tutorial.html\">XML serialization<\/a>.         <strong>&nbsp;<\/strong><\/div>\n<p><strong>java-plist-serializer<\/strong>        <\/p>\n<p><a href=\"https:\/\/github.com\/maciejwalkowiak\/java-plist-serializer\">java-plist-serializer<\/a> is an open source project hosted on Github that helps to develop communication between Java application and iOS application.         <\/p>\n<ul>\n<li>does not depend on any XML related library<\/li>\n<li>customizable output thanks to <a href=\"https:\/\/github.com\/maciejwalkowiak\/java-plist-serializer\/blob\/master\/src\/main\/java\/pl\/maciejwalkowiak\/plist\/annotation\/PlistIgnore.java\">@PlistIgnore<\/a>, <a href=\"https:\/\/github.com\/maciejwalkowiak\/java-plist-serializer\/blob\/master\/src\/main\/java\/pl\/maciejwalkowiak\/plist\/annotation\/PlistAlias.java\">@PlistAlias<\/a> and <a href=\"https:\/\/github.com\/maciejwalkowiak\/java-plist-serializer\/blob\/master\/src\/main\/java\/pl\/maciejwalkowiak\/plist\/NamingStrategy.java\">Naming Strategies<\/a><\/li>\n<li>thread safe \u2013 can be used as a singleton in project<\/li>\n<li>extensible \u2013 handlers for additional objects can be easily added<\/li>\n<li><strong><a href=\"http:\/\/www.springsource.org\/\">Spring Framework<\/a><\/strong> integration provided by <a href=\"https:\/\/github.com\/maciejwalkowiak\/java-plist-serializer\/blob\/master\/src\/main\/java\/pl\/maciejwalkowiak\/plist\/spring\/PlistView.java\">PlistView<\/a><\/li>\n<\/ul>\n<p><strong>Usage<\/strong>        <div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>The heart of library is <a href=\"https:\/\/github.com\/maciejwalkowiak\/java-plist-serializer\/blob\/master\/src\/main\/java\/pl\/maciejwalkowiak\/plist\/PlistSerializerImpl.java\">PlistSerializerImpl<\/a>. In order to serialize obejcts to plist you have to create instance of PlistSerializerImpl and call one of serialization methods. For example:         <\/p>\n<p>Input classes:         <\/p>\n<pre class=\"brush:java\">public class Post {\r\n    private String title;\r\n    private Integer views = 0;\r\n    private List&lt;Comment&gt; comments = new ArrayList&lt;Comment&gt;();\r\n    private Author author;\r\n\r\n    public Post(Author author, String title, Integer views) {\r\n        this.title = title;\r\n        this.views = views;\r\n        this.author = author;\r\n    }\r\n}\r\n\r\npublic class Comment {\r\n    private String content;\r\n    private String author;\r\n\r\n    public Comment(String author, String content) {\r\n        this.content = content;\r\n        this.author = author;\r\n    }\r\n}\r\n\r\npublic class Author {\r\n    private String name;\r\n}\r\n<\/pre>\n<p>Objects of those classes are created and <code>plistSerializer.toXmlPlist<\/code> method is called         <\/p>\n<pre class=\"brush:java\">Post post = new Post(new Author(\"jason bourne\"), \"java-plist-serializer introduction\", 9);\r\npost.addComment(new Comment(\"maciejwalkowiak\", \"first comment\"));\r\npost.addComment(new Comment(\"john doe\", \"second comment\"));\r\n\r\nPlistSerializerImpl plistSerializer = new PlistSerializerImpl();\r\nString xml = plistSerializer.toXmlPlist(post);\r\n<\/pre>\n<p><code>xml<\/code> variable will contain:         <\/p>\n<pre class=\"brush:xml\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;!DOCTYPE plist PUBLIC \"-\/\/Apple Computer\/\/DTD PLIST 1.0\/\/EN\" \"http:\/\/www.apple.com\/DTDs\/PropertyList-1.0.dtd\"&gt;\r\n&lt;plist version=\"1.0\"&gt;\r\n    &lt;dict&gt;\r\n        &lt;key&gt;author&lt;\/key&gt;\r\n        &lt;dict&gt;\r\n            &lt;key&gt;name&lt;\/key&gt;\r\n            &lt;string&gt;jason bourne&lt;\/string&gt;\r\n        &lt;\/dict&gt;\r\n        &lt;key&gt;comments&lt;\/key&gt;\r\n        &lt;array&gt;\r\n            &lt;dict&gt;\r\n                &lt;key&gt;author&lt;\/key&gt;\r\n                &lt;string&gt;maciejwalkowiak&lt;\/string&gt;\r\n                &lt;key&gt;content&lt;\/key&gt;\r\n                &lt;string&gt;first comment&lt;\/string&gt;\r\n            &lt;\/dict&gt;\r\n            &lt;dict&gt;\r\n                &lt;key&gt;author&lt;\/key&gt;\r\n                &lt;string&gt;john doe&lt;\/string&gt;\r\n                &lt;key&gt;content&lt;\/key&gt;\r\n                &lt;string&gt;second comment&lt;\/string&gt;\r\n            &lt;\/dict&gt;\r\n        &lt;\/array&gt;\r\n        &lt;key&gt;title&lt;\/key&gt;\r\n        &lt;string&gt;java-plist-serializer introduction&lt;\/string&gt;\r\n        &lt;key&gt;views&lt;\/key&gt;\r\n        &lt;integer&gt;9&lt;\/integer&gt;\r\n    &lt;\/dict&gt;\r\n&lt;\/plist&gt;\r\n<\/pre>\n<p><strong>Spring Framework Integration<\/strong>        <\/p>\n<p>In order to return plist as a response of Spring MVC controller you can use <a href=\"https:\/\/github.com\/maciejwalkowiak\/java-plist-serializer\/blob\/master\/src\/main\/java\/pl\/maciejwalkowiak\/plist\/spring\/PlistView.java\">PlistView<\/a> that extends <a href=\"http:\/\/static.springsource.org\/spring\/docs\/3.1.x\/javadoc-api\/org\/springframework\/web\/servlet\/view\/AbstractView.html\">AbstractView<\/a>.         <\/p>\n<p>There are several ways to configure Spring MVC. The easiest to understand example of usage of PlistView:         <\/p>\n<pre class=\"brush:java\">@Controller\r\npublic class BlogController {\r\n    @RequestMapping(value = \"\/loadBlogPost\", method = RequestMethod.GET)\r\n    public ModelAndView loadBlogPost() {\r\n        Post post = new Post(new Author(\"jason bourne\"), \"java-plist-serializer introduction\", 9);\r\n        post.addComment(new Comment(\"maciejwalkowiak\", \"first comment\"));\r\n        post.addComment(new Comment(\"john doe\", \"second comment\"));\r\n\r\n        ModelMap model = new ModelMap();\r\n        model.addAttribute(\"RESULT\", notification);\r\n\r\n        return new ModelAndView(new PlistView(), model);\r\n    }\r\n}\r\n<\/pre>\n<p>More detailed documentation can be found on <a href=\"https:\/\/github.com\/maciejwalkowiak\/java-plist-serializer\">project\u2019s github page<\/a><\/p>\n<p><strong>Conclusion<\/strong>        <\/p>\n<p>Feel free to fork, extend. If you will find any issue please report them on github. <\/p>\n<p><strong><i>Reference: <\/i><\/strong><a href=\"http:\/\/maciejwalkowiak.pl\/blog\/2012\/04\/11\/java-talking-to-ios-java-objects-to-apple-plist-serialization\/\">Java talking to iOS: Java objects to Apple plist serialization <\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/p\/jcg.html\">JCG partner<\/a> Maciej Walkowiak at the <a href=\"http:\/\/maciejwalkowiak.pl\/\">Software Development Journey<\/a> blog.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I am happy to announce my first open source project java-plist-serializer that can help you with integrating Java and especially Spring based applications with iOS applications. &nbsp; Background I am working on project that has Java webapp as a backend and clients are iOS devices. Recently I\u2019ve received task to create Web Service that returns &hellip;<\/p>\n","protected":false},"author":245,"featured_media":112,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[562,65],"class_list":["post-1468","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-ios","tag-serialization"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Java talking to iOS: Java objects to Apple plist serialization - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"I am happy to announce my first open source project java-plist-serializer that can help you with integrating Java and especially Spring based 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\/2012\/07\/java-talking-to-ios-java-objects-to.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java talking to iOS: Java objects to Apple plist serialization - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"I am happy to announce my first open source project java-plist-serializer that can help you with integrating Java and especially Spring based applications\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.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=\"2012-07-28T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-10-22T05:50:26+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=\"Maciej Walkowiak\" \/>\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=\"Maciej Walkowiak\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html\"},\"author\":{\"name\":\"Maciej Walkowiak\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/918c1b6d9d8de83830e5b24c0f0f4419\"},\"headline\":\"Java talking to iOS: Java objects to Apple plist serialization\",\"datePublished\":\"2012-07-28T15:00:00+00:00\",\"dateModified\":\"2012-10-22T05:50:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html\"},\"wordCount\":379,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"keywords\":[\"iOS\",\"Serialization\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html\",\"name\":\"Java talking to iOS: Java objects to Apple plist serialization - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"datePublished\":\"2012-07-28T15:00:00+00:00\",\"dateModified\":\"2012-10-22T05:50:26+00:00\",\"description\":\"I am happy to announce my first open source project java-plist-serializer that can help you with integrating Java and especially Spring based applications\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.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\\\/2012\\\/07\\\/java-talking-to-ios-java-objects-to.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\":\"Java talking to iOS: Java objects to Apple plist serialization\"}]},{\"@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\\\/918c1b6d9d8de83830e5b24c0f0f4419\",\"name\":\"Maciej Walkowiak\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/897c85e1c7fe1b9b9ed640f6ff04c5f2141980d6c5c2b933034783495c8e8db5?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/897c85e1c7fe1b9b9ed640f6ff04c5f2141980d6c5c2b933034783495c8e8db5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/897c85e1c7fe1b9b9ed640f6ff04c5f2141980d6c5c2b933034783495c8e8db5?s=96&d=mm&r=g\",\"caption\":\"Maciej Walkowiak\"},\"sameAs\":[\"http:\\\/\\\/maciejwalkowiak.pl\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/Maciej-Walkowiak\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java talking to iOS: Java objects to Apple plist serialization - Java Code Geeks","description":"I am happy to announce my first open source project java-plist-serializer that can help you with integrating Java and especially Spring based 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\/2012\/07\/java-talking-to-ios-java-objects-to.html","og_locale":"en_US","og_type":"article","og_title":"Java talking to iOS: Java objects to Apple plist serialization - Java Code Geeks","og_description":"I am happy to announce my first open source project java-plist-serializer that can help you with integrating Java and especially Spring based applications","og_url":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2012-07-28T15:00:00+00:00","article_modified_time":"2012-10-22T05:50:26+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":"Maciej Walkowiak","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Maciej Walkowiak","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html"},"author":{"name":"Maciej Walkowiak","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/918c1b6d9d8de83830e5b24c0f0f4419"},"headline":"Java talking to iOS: Java objects to Apple plist serialization","datePublished":"2012-07-28T15:00:00+00:00","dateModified":"2012-10-22T05:50:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html"},"wordCount":379,"commentCount":1,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","keywords":["iOS","Serialization"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html","url":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html","name":"Java talking to iOS: Java objects to Apple plist serialization - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","datePublished":"2012-07-28T15:00:00+00:00","dateModified":"2012-10-22T05:50:26+00:00","description":"I am happy to announce my first open source project java-plist-serializer that can help you with integrating Java and especially Spring based applications","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/java-talking-to-ios-java-objects-to.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\/2012\/07\/java-talking-to-ios-java-objects-to.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":"Java talking to iOS: Java objects to Apple plist serialization"}]},{"@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\/918c1b6d9d8de83830e5b24c0f0f4419","name":"Maciej Walkowiak","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/897c85e1c7fe1b9b9ed640f6ff04c5f2141980d6c5c2b933034783495c8e8db5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/897c85e1c7fe1b9b9ed640f6ff04c5f2141980d6c5c2b933034783495c8e8db5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/897c85e1c7fe1b9b9ed640f6ff04c5f2141980d6c5c2b933034783495c8e8db5?s=96&d=mm&r=g","caption":"Maciej Walkowiak"},"sameAs":["http:\/\/maciejwalkowiak.pl"],"url":"https:\/\/www.javacodegeeks.com\/author\/Maciej-Walkowiak"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/1468","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\/245"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=1468"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/1468\/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=1468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=1468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=1468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}