{"id":963,"date":"2022-11-28T14:10:28","date_gmt":"2022-11-28T05:10:28","guid":{"rendered":"https:\/\/java.ihavenomoney.co.kr\/?page_id=963"},"modified":"2022-12-22T17:33:08","modified_gmt":"2022-12-22T08:33:08","slug":"json-to-xml","status":"publish","type":"page","link":"https:\/\/java.ihavenomoney.co.kr\/?page_id=963","title":{"rendered":"Json to XML"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Remark : Json  \ud615\uc2dd\uc744  XML  \ub85c \ubcc0\uacbd<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">1.Jackson ObjectMapper \uc0ac\uc6a9<\/h3>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >import java.io.IOException;\nimport java.io.StringWriter;\nimport com.fasterxml.jackson.databind.JsonNode;\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport com.fasterxml.jackson.databind.SerializationFeature;\nimport com.fasterxml.jackson.dataformat.xml.XmlMapper;\nimport com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator;\npublic class SimpleTesting{\n    public static void main(String[] args) throws IOException{\n        final String jsonStr = \"{\\\"name\\\":\\\"JSON\\\",\\\"integer\\\":1,\\\"double\\\":2.0,\\\"boolean\\\":true,\\\"nested\\\":{\\\"id\\\":42},\\\"array\\\":[1,2,3]}\";\n        ObjectMapper jsonMapper = new ObjectMapper()\n                     .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);;\n        JsonNode node = jsonMapper.readValue(jsonStr, JsonNode.class);\n        XmlMapper xmlMapper = new XmlMapper();\n                xmlMapper.configure(SerializationFeature.INDENT_OUTPUT, true);\n                xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);\n                xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_1_1, true);\n        StringWriter sw = new StringWriter();\n        xmlMapper.writeValue(sw, node);\n        System.out.println(sw.toString());\n    }\n}<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2.Gson \uc0ac\uc6a9<\/h3>\n\n\n\n<p>Spring <\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >package com.example.demo;\n\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport com.fasterxml.jackson.databind.SerializationFeature;\nimport com.fasterxml.jackson.dataformat.xml.XmlMapper;\nimport com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator;\nimport com.google.gson.Gson;\nimport com.google.gson.GsonBuilder;\nimport com.google.gson.JsonElement;\nimport com.google.gson.JsonParser;\n\nimport org.apache.catalina.LifecycleException;\nimport org.json.simple.JSONObject;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\n\nimport java.io.*;\nimport java.net.HttpURLConnection;\n\nimport java.net.URL;\nimport service.SimpleRead;\n\nimport vo.JsonNode;\n\n@SpringBootApplication\npublic class DemoApplication {\n\n    public static void main(String[] args) throws IOException, LifecycleException {\n\n        \/\/SpringApplication.run(DemoApplication.class, args);\n        DemoApplication demo = new DemoApplication();\n\n        JSONObject sJson = demo.TestJsonRead(\"TestData.json\"); \/\/class \uc815\uc758\n\n        GsonBuilder gsonBuilder = new GsonBuilder();\n        gsonBuilder.serializeNulls();\n        Gson gson = gsonBuilder.create();\n\n        try {\n\n            JsonNode node =gson.fromJson(sJson.toJSONString(), JsonNode.class);\n\n            XmlMapper xmlMapper = new XmlMapper();\n            xmlMapper.configure(SerializationFeature.INDENT_OUTPUT, true);\n            xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);\n            xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_1_1, true);\n            StringWriter sw = new StringWriter();\n            xmlMapper.writeValue(sw, node);\n            System.out.println(sw.toString());\n\n\n            } catch (Exception e) {\n\n                throw new RuntimeException(\"Unexpected error during parsing body param.\", e);\n            }\n\n        System.out.println(\"ok\");\n    }<\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Remark : Json \ud615\uc2dd\uc744 XML \ub85c \ubcc0\uacbd 1.Jackson ObjectMapper \uc0ac\uc6a9 2.Gson \uc0ac\uc6a9 Spring<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-963","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=963"}],"version-history":[{"count":4,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/963\/revisions"}],"predecessor-version":[{"id":1102,"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/963\/revisions\/1102"}],"wp:attachment":[{"href":"https:\/\/java.ihavenomoney.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}