{"id":28590,"date":"2024-03-16T10:37:39","date_gmt":"2024-03-16T10:37:39","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/"},"modified":"2024-03-22T13:49:18","modified_gmt":"2024-03-22T13:49:18","slug":"how-to-deserialize-java-objects-in-python","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/","title":{"rendered":"How to deserialize Java objects in Python?"},"content":{"rendered":"<p>In order to deserialize Java objects in Python, the Java objects must first be serialized into a byte stream in some way. Then, deserialization can be done using the pickle module in Python.<\/p>\n<p>The following example demonstrates how to serialize an object into a byte stream in Java, and then deserialize it using the pickle module in Python.<\/p>\n<p>Java code (serialize object into byte stream):<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> java.io.FileOutputStream;\r\n<span class=\"hljs-keyword\">import<\/span> java.io.ObjectOutputStream;\r\n<span class=\"hljs-keyword\">import<\/span> java.io.Serializable;\r\n\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Person<\/span> <span class=\"hljs-keyword\">implements<\/span> <span class=\"hljs-title class_\">Serializable<\/span> {\r\n    <span class=\"hljs-keyword\">private<\/span> String name;\r\n    <span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-type\">int<\/span> age;\r\n\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-title function_\">Person<\/span><span class=\"hljs-params\">(String name, <span class=\"hljs-type\">int<\/span> age)<\/span> {\r\n        <span class=\"hljs-built_in\">this<\/span>.name = name;\r\n        <span class=\"hljs-built_in\">this<\/span>.age = age;\r\n    }\r\n\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">(String[] args)<\/span> {\r\n        <span class=\"hljs-type\">Person<\/span> <span class=\"hljs-variable\">person<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Person<\/span>(<span class=\"hljs-string\">\"John\"<\/span>, <span class=\"hljs-number\">30<\/span>);\r\n\r\n        <span class=\"hljs-keyword\">try<\/span> {\r\n            <span class=\"hljs-type\">FileOutputStream<\/span> <span class=\"hljs-variable\">fileOut<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">FileOutputStream<\/span>(<span class=\"hljs-string\">\"person.ser\"<\/span>);\r\n            <span class=\"hljs-type\">ObjectOutputStream<\/span> <span class=\"hljs-variable\">out<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">ObjectOutputStream<\/span>(fileOut);\r\n            out.writeObject(person);\r\n            out.close();\r\n            fileOut.close();\r\n            System.out.println(<span class=\"hljs-string\">\"Serialized data is saved in person.ser\"<\/span>);\r\n        } <span class=\"hljs-keyword\">catch<\/span> (Exception e) {\r\n            e.printStackTrace();\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Executing the above Java code will generate a file named person.ser, which contains a serialized Person object.<\/p>\n<p>Python code (deserialize Java objects):<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> pickle\r\n\r\n<span class=\"hljs-keyword\">with<\/span> <span class=\"hljs-built_in\">open<\/span>(<span class=\"hljs-string\">\"person.ser\"<\/span>, <span class=\"hljs-string\">\"rb\"<\/span>) <span class=\"hljs-keyword\">as<\/span> file:\r\n    person = pickle.load(file)\r\n\r\n<span class=\"hljs-built_in\">print<\/span>(person.name)  <span class=\"hljs-comment\"># \u8f93\u51fa\uff1aJohn<\/span>\r\n<span class=\"hljs-built_in\">print<\/span>(person.age)  <span class=\"hljs-comment\"># \u8f93\u51fa\uff1a30<\/span>\r\n<\/code><\/pre>\n<p>In Python, you can load deserialized objects from a byte stream using the load() function from the pickle module. Simply pass the filename of the byte stream to the open() function, and then use pickle.load() to read the file and return the deserialized object.<\/p>\n<p>Please make sure that the Person object has been serialized through Java code and the person.ser file has been generated before running the Python code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In order to deserialize Java objects in Python, the Java objects must first be serialized into a byte stream in some way. Then, deserialization can be done using the pickle module in Python. The following example demonstrates how to serialize an object into a byte stream in Java, and then deserialize it using the pickle [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-28590","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to deserialize Java objects in Python? - Blog - Silicon Cloud<\/title>\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.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to deserialize Java objects in Python?\" \/>\n<meta property=\"og:description\" content=\"In order to deserialize Java objects in Python, the Java objects must first be serialized into a byte stream in some way. Then, deserialization can be done using the pickle module in Python. The following example demonstrates how to serialize an object into a byte stream in Java, and then deserialize it using the pickle [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T10:37:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T13:49:18+00:00\" \/>\n<meta name=\"author\" content=\"Ava Mitchell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ava Mitchell\" \/>\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\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/\"},\"author\":{\"name\":\"Ava Mitchell\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\"},\"headline\":\"How to deserialize Java objects in Python?\",\"datePublished\":\"2024-03-16T10:37:39+00:00\",\"dateModified\":\"2024-03-22T13:49:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/\"},\"wordCount\":166,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/\",\"name\":\"How to deserialize Java objects in Python? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T10:37:39+00:00\",\"dateModified\":\"2024-03-22T13:49:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to deserialize Java objects in Python?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\",\"name\":\"Ava Mitchell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"caption\":\"Ava Mitchell\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to deserialize Java objects in Python? - Blog - Silicon Cloud","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.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/","og_locale":"en_US","og_type":"article","og_title":"How to deserialize Java objects in Python?","og_description":"In order to deserialize Java objects in Python, the Java objects must first be serialized into a byte stream in some way. Then, deserialization can be done using the pickle module in Python. The following example demonstrates how to serialize an object into a byte stream in Java, and then deserialize it using the pickle [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T10:37:39+00:00","article_modified_time":"2024-03-22T13:49:18+00:00","author":"Ava Mitchell","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Ava Mitchell","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/"},"author":{"name":"Ava Mitchell","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64"},"headline":"How to deserialize Java objects in Python?","datePublished":"2024-03-16T10:37:39+00:00","dateModified":"2024-03-22T13:49:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/"},"wordCount":166,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/","name":"How to deserialize Java objects in Python? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T10:37:39+00:00","dateModified":"2024-03-22T13:49:18+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-deserialize-java-objects-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to deserialize Java objects in Python?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64","name":"Ava Mitchell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","caption":"Ava Mitchell"},"url":"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/28590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=28590"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/28590\/revisions"}],"predecessor-version":[{"id":62897,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/28590\/revisions\/62897"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=28590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=28590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=28590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}