Conversão de JSON para XML em Java
- Converta JSON em XML usando a Biblioteca org.json em Java
- Converta JSON em XML usando a Biblioteca de sublinhado em Java
- Converta JSON em XML usando a Biblioteca Jackson em Java

Este tutorial apresenta como converter JSON em XML em Java.
Para converter JSON em XML, podemos usar várias bibliotecas, como org.json, sublinhado e Jackson. Neste artigo, aprenderemos a usar essas bibliotecas e veremos o processo de conversão de JSON para XML.
JSON é um formato de dados usado pelo aplicativo para intercâmbio de dados. É usado pelos aplicativos por ser leve e simples, enquanto o XML é uma linguagem de marcação e também é usado para transferir dados.
Vamos começar com alguns exemplos para converter JSON em XML em Java.
Converta JSON em XML usando a Biblioteca org.json em Java
Neste exemplo, usamos a biblioteca org.json que fornece JSONObject
e uma classe XML. A classe JSONObject é usada para transformar uma string JSON em um objeto JSON e, em seguida, usando a classe XML, convertemos o JSON em XML.
A classe XML fornece um método toString () estático que retorna o resultado como uma String. Veja o exemplo abaixo.
import java.io.IOException;
import org.json.*;
public class SimpleTesting{
public static void main(String[] args) throws IOException, JSONException{
String jsonStr = "{student : { age:30, name : Kumar, technology : Java } }";
JSONObject json = new JSONObject(jsonStr);
String xml = XML.toString(json);
System.out.println(xml);
}
}
Resultado:
<student>
<name>Kumar</name>
<technology>Java</technology>
<age>30</age>
</student>
Converta JSON em XML usando a Biblioteca de sublinhado em Java
Aqui, usamos a biblioteca underscore
para converter JSON
em XML
. Usamos a classe U
e seu método estático jsonToXml()
que retorna XML
como uma string. Veja o exemplo abaixo.
import java.io.IOException;
import com.github.underscore.lodash.U;
public class SimpleTesting{
public static void main(String[] args) throws IOException{
String jsonStr = "{\"name\":\"JSON\",\"integer\":1,\"double\":2.0,\"boolean\":true,\"nested\":{\"id\":42},\"array\":[1,2,3]}";
System.out.println(jsonStr);
String xml = U.jsonToXml(jsonStr);
System.out.println(xml);
}
}
Resultado:
{"name":"JSON","integer":1,"double":2.0,"boolean":true,"nested":{"id":42},"array":[1,2,3]}
<?xml version="1.0" encoding="UTF-8"?>
<root>
<name>JSON</name>
<integer number="true">1</integer>
<double number="true">2.0</double>
<boolean boolean="true">true</boolean>
<nested>
<id number="true">42</id>
</nested>
<array number="true">1</array>
<array number="true">2</array>
<array number="true">3</array>
</root>
Converta JSON em XML usando a Biblioteca Jackson em Java
Aqui, usamos a classe ObjectMapper
para ler JSON e, em seguida, a classe XmlMapper
para obter dados de formato XML. Aqui, usamos dois pacotes principais, jackson.databind
e jackson.dataformat
; a primeira contém classes relacionadas a JSON e a segunda inclui classes relacionadas a XML. Veja o exemplo abaixo.
import java.io.IOException;
import java.io.StringWriter;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator;
public class SimpleTesting{
public static void main(String[] args) throws IOException{
final String jsonStr = "{\"name\":\"JSON\",\"integer\":1,\"double\":2.0,\"boolean\":true,\"nested\":{\"id\":42},\"array\":[1,2,3]}";
ObjectMapper jsonMapper = new ObjectMapper();
JsonNode node = jsonMapper.readValue(jsonStr, JsonNode.class);
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);
xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_1_1, true);
StringWriter sw = new StringWriter();
xmlMapper.writeValue(sw, node);
System.out.println(sw.toString());
}
}
Resultado:
{"name":"JSON","integer":1,"double":2.0,"boolean":true,"nested":{"id":42},"array":[1,2,3]}
<?xml version="1.0" encoding="UTF-8"?>
<root>
<name>JSON</name>
<integer number="true">1</integer>
<double number="true">2.0</double>
<boolean boolean="true">true</boolean>
<nested>
<id number="true">42</id>
</nested>
<array number="true">1</array>
<array number="true">2</array>
<array number="true">3</array>
</root>
Artigo relacionado - Java JSON
- Converter XML em JSON em Java
- Converter JSON em objeto Java
- Leia o arquivo JSON em Java
- Analisar JSON em Java
- Converter String em objecto JSON em Java