Conversión de JSON a XML en Java
- Convierta JSON a XML usando la biblioteca org.json en Java
- Convierta JSON a XML usando la biblioteca de subrayado en Java
- Convierta JSON a XML usando la biblioteca Jackson en Java
Este tutorial presenta cómo convertir JSON a XML en Java.
Para convertir JSON a XML, podemos usar varias bibliotecas como org.json, subrayado y Jackson. En este artículo, aprenderemos a usar estas bibliotecas y veremos el proceso de conversión de JSON a XML.
JSON es un formato de datos utilizado por la aplicación para el intercambio de datos. Las aplicaciones lo utilizan debido a su ligereza y sencillez, mientras que XML es un lenguaje de marcado y también se utiliza para transferir datos.
Comencemos con algunos ejemplos para convertir JSON a XML en Java.
Convierta JSON a XML usando la biblioteca org.json en Java
En este ejemplo, usamos la biblioteca org.json que proporciona JSONObject
y una clase XML. La clase JSONObject se usa para convertir una cadena JSON en un objeto JSON y luego, al usar la clase XML, convertimos el JSON a XML.
La clase XML proporciona un método toString()
estático que devuelve el resultado como una cadena. Vea el ejemplo a continuación.
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);
}
}
Producción :
<student>
<name>Kumar</name>
<technology>Java</technology>
<age>30</age>
</student>
Convierta JSON a XML usando la biblioteca de subrayado en Java
Aquí, usamos la biblioteca underscore
para convertir JSON
a XML
. Usamos la clase U
y su método estático jsonToXml()
que devuelve XML
como una cadena. Vea el ejemplo a continuación.
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);
}
}
Producción :
{"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>
Convierta JSON a XML usando la biblioteca Jackson en Java
Aquí, usamos la clase ObjectMapper
para leer JSON y luego la clase XmlMapper
para obtener datos en formato XML. Aquí, usamos dos paquetes principales, jackson.databind
y jackson.dataformat
; el primero contiene clases relacionadas con JSON y el segundo incluye clases relacionadas con XML. Vea el ejemplo a continuación.
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());
}
}
Producción :
{"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>
Artículo relacionado - Java JSON
- Convertir datos JSON a cadenas en Java
- Deserializar JSON en Java
- Impresión bonita de datos JSON en Java
- Serializar objeto a JSON en Java
- Manejo de arrays JSON en Java
- Convierta XML a JSON en Java