La forma más rápida de convertir XML a JSON en Java

¿Cuáles son algunas buenas herramientas para convertir rápida y fácilmente XML a JSON en Java?

JSON en Java tiene algunos recursos geniales.

Dependencia de Maven:

  org.json json 20171018  

XML.java es la clase que estás buscando:

 import org.json.JSONObject; import org.json.XML; public class Main { public static int PRETTY_PRINT_INDENT_FACTOR = 4; public static String TEST_XML_STRING = "< ?xml version=\"1.0\" ?>Turn this to JSON"; public static void main(String[] args) { try { JSONObject xmlJSONObj = XML.toJSONObject(TEST_XML_STRING); String jsonPrettyPrintString = xmlJSONObj.toString(PRETTY_PRINT_INDENT_FACTOR); System.out.println(jsonPrettyPrintString); } catch (JSONException je) { System.out.println(je.toString()); } } } 

La salida es:

 {"test": { "attrib": "moretest", "content": "Turn this to JSON" }} 

Para convertir el archivo XML en JSON, incluya la siguiente dependencia

  org.json json 20140107  

y puedes descargar Jar de Maven Repository aquí . Luego implemente como:

 String soapmessageString = "yourStringURLorFILE"; JSONObject soapDatainJsonObject = XML.toJSONObject(soapmessageString); System.out.println(soapDatainJsonObject); 

El único problema con JSON en Java es que si su XML tiene un único elemento secundario, pero es una matriz, lo convertirá en un objeto en lugar de en una matriz. Esto puede causar problemas si dinámicamente siempre convierte de XML a JSON, donde si su XML de ejemplo tiene solo un elemento, devuelve un objeto, pero si tiene 2+, devuelve una matriz, lo que puede causar problemas de análisis para las personas que usan el JSON.

La clase XML2JSON de Infoscoop tiene una forma de etiquetar elementos que son matrices antes de realizar la conversión, de modo que las matrices se pueden asignar correctamente, incluso si solo hay un elemento secundario en el XML.

Aquí hay un ejemplo de cómo usarlo (en un lenguaje ligeramente diferente, pero también puede ver cómo se utilizan las matrices desde el método nodelist2json () del enlace XML2JSON).

He subido el proyecto que puede abrir directamente en eclipse y ejecutar eso es todo https://github.com/pareshmutha/XMLToJsonConverterUsingJAVA

Gracias

No sé cuál es el problema exacto, pero si recibe XML y desea devolver JSon (o algo así), también puede consultar JAX-B. Este es un estándar para ordenar / desasignar Java POJO a XML y / o Json. Existen múltiples bibliotecas que implementan JAX-B, por ejemplo, CXF de Apache.

Encontré esto de manera rápida y fácil: Usé: clase org.json.XML de java-json.jar

  if (statusCode == 200 && inputStream != null) { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); StringBuilder responseStrBuilder = new StringBuilder(); String inputStr; while ((inputStr = bufferedReader.readLine()) != null) { responseStrBuilder.append(inputStr); } jsonObject = XML.toJSONObject(responseStrBuilder.toString()); }