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
![Conversão de JSON para XML em Java](/img/Java/feature-image---convert-json-to-xml-in-java.webp)
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 com.github.underscore.lodash.U;
import java.io.IOException;
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 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;
import java.io.IOException;
import java.io.StringWriter;
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