XML Converter para JSON em Java

O formato para troca de informações JSON Cada vez se tornou mais popular em detrimento do XML. Muitos serviços da Web continuam a trabalhar com XML, mas muitos outros já o fazem apenas com JSON. Podemos ver-nos na necessidade de XML convertido para JSON, especialmente em situações em que você quer se comunicar com JavaScript, onde a interpretação de uma cadeia JSON é muito mais fácil.

Uma maneira rápida é usar o JSON na biblioteca Java, usando o pacote org.json. Este pacote pode ser baixado no GitHub e adicioná-lo no classpath do projeto para ser capaz de fazer referência a ela, ou adicioná-lo como uma dependência Maven como segue:

<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId></dependency>

Uma das funções interessantes deste pacote é responsável por converter do XML para o próprio JSON. Esta função é chamada XMLStringToJsonstring e recebe dois parâmetros. A primeira é uma string com a cadeia XML e a segunda é um inteiro com o fator de identificação, ou seja, o número de espaços com os quais cada nível de JSON resultante será identificado. O conteúdo desta função é o seguinte.

public static String xmlStringToJSONString(String xmlString, int indentFactor) {JSONObject xmlJSONObj = XML.toJSONObject(xmlString);String string = xmlJSONObj.toString(indentFactor);return string;}

Exemplo de como converter um XML para JSON

Em seguida, um exemplo simples de Uso desta função. Neste exemplo, o conteúdo do XML foi declarado em uma variável (xmlentrada) e é passada para a função responsável pela conversão, indicando quatro espaços de identificação. O resultado da conversão será exibida no console.

import org.json.JSONException;import org.junit.Test;public class Xml2JSONTests{public void testXml2JSON() throws Exception{String xmlEntrada = "<?xml version=\"1.0\" ?>" +"<serviceRequest><id>123</id><desc>Hola</desc></serviceRequest>"; try { System.out.println(xmlStringToJSONString(xmlEntrada, 4)); } catch (JSONException je) { System.out.println(je.toString()); }}}

Ao executar o código anterior, a saída do console seria a seguinte. Como pode ser visto, é um JSON válido, com quatro espaços de identificação em cada nível para facilitar sua leitura.

{"serviceRequest": { "id": 123, "desc": "Hola"}}

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *