¿Cuáles son algunas buenas herramientas para convertir rápida y fácilmente XML a JSON en Java?Forma más rápida de convertir XML a JSON en Java
Respuesta
JSON in Java tiene excelentes recursos.
Maven dependencia:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20171018</version>
</dependency>
XML.java
es la clase que usted está 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\" ?><test attrib=\"moretest\">Turn this to JSON</test>";
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());
}
}
}
salida es:
{"test": {
"attrib": "moretest",
"content": "Turn this to JSON"
}}
Advertencia: ¡El paquete json.org.XML no existe en Android! –
@danieltalsky: ¿Qué importación necesito escribir? 'import net.sf.json.JSONObject;' o 'import org.json.JSONObject;'. ¿Qué tarro necesito incluir? –
descargue todos los archivos, no solo XML.java. Desde aquí: https://github.com/douglascrockford/JSON-java/downloads – Spiff
No sé lo que problema exacto es decir, pero si recibe XML y desea devolver JSon (o algo) 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.
El único problema con JSON in 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 Infoscoop XML2JSON 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í está an example de usarlo (en un lenguaje ligeramente diferente, pero también se puede ver cómo se utilizan las matrices desde el método nodelist2json() del enlace XML2JSON).
estamos usando una biblioteca "xml-to-json" en python y este es un problema semántico. Lo que hacemos para resolver este problema de "matriz u objeto" es escribir un método "tryConvertToArray()", que devuelve una matriz con el único objeto en ella. Por lo tanto, siempre puedes confiar en que tu valor sea una matriz – kommradHomer
No me queda claro cómo se resuelve el problema. ¿Entonces simplemente haces que todo sea una matriz en lugar de un objeto? Por ejemplo, si tengo el XML '
Hay algo que esperamos que sea una matriz. El problema surge cuando esta matriz tiene solo 1 elemento, lo que lo convierte en un objeto para el convertidor xml-to-json. Entonces, como esperamos que sea una matriz para un solo elemento, lo revisamos y lo convertimos en una matriz, asegurándonos de tener una matriz donde esperamos una matriz. – kommradHomer
Para convertir un archivo XML en JSON para incluir la siguiente dependencia
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
</dependency>
y puedes Download Jar from Maven Repository here. luego implementar como:
String soapmessageString = "<xml>yourStringURLorFILE</xml>";
JSONObject soapDatainJsonObject = XML.toJSONObject(soapmessageString);
System.out.println(soapDatainJsonObject);
+ para la dependencia de maven siempre que – zacheusz
use la versión de json mencionada en la publicación si está en java 7 ya que la última versión arroja errores extraños. – urug
Si tiene un archivo dtd válido para el fragmento xml, puede convertir fácilmente xml en json y json en xml utilizando el jar de enlace de eclipse de código abierto. Muestra detallada del proyecto JAVA se puede encontrar aquí: http: //www.cubicrace.com/2015/06/How-to-convert-XML-to-JSON-format.html –
He subido el proyecto que puede abrir directamente en Eclipse y ejecutar eso es todo https://github.com/pareshmutha/XMLToJsonConverterUsingJAVA
Gracias
He encontrado esta la forma más rápida y fácil: Usado: 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());
}
- 1. ¿Hay alguna forma de convertir json a xml en PHP?
- 2. ¿Existe alguna forma rápida de convertir objetos Java xml en objetos Scala xml?
- 3. La forma más rápida y eficiente de crear XML
- 4. ¿La forma más rápida de convertir T [,] a T [] []?
- 5. ¿La forma más rápida de convertir cadenas a binario?
- 6. Convertir XML a formato JSON
- 7. Método más simple para convertir Json a Xml
- 8. La forma más rápida de analizar cadenas json (sin jquery)
- 9. La forma más rápida/mejor de leer XML
- 10. ¿Existe una "forma más rápida" de construir cadenas en Java?
- 11. cómo convertir XML a JSON usando jQuery
- 12. Convertir xml a Java Bean
- 13. Convertir archivo XML a CSV en java
- 14. ¿Cómo puedo convertir JSON a XML en Ruby?
- 15. La forma más rápida de convertir del vector de pares a dos vectores independientes en C++
- 16. La forma más rápida de convertir cadena a entero en PHP
- 17. ¿La forma más rápida de convertir int a UInt32 en modo bit?
- 18. forma más rápida de convertir archivo delimitado por tabulaciones a csv en linux
- 19. ¿Cuál es la forma más rápida de convertir float a int en x86?
- 20. Pregunta de rendimiento: ¿La forma más rápida de convertir caracteres hexadecimales a su valor numérico en Java?
- 21. forma más sencilla de consulta XML en Java
- 22. ¿Cómo puedo convertir Xml a Json y viceversa en C#
- 23. La forma más rápida de verificar si se puede analizar una Cadena en Doblar en Java
- 24. ¿Forma más rápida de comunicarse usando TcpClient?
- 25. Inverse String.Replace - ¿Forma más rápida de hacerlo?
- 26. La forma más rápida de aprender Maven
- 27. convertir resultado mysqli a json
- 28. Forma más rápida (rendimiento) de convertir una cadena en una matriz de bytes [] en C#
- 29. ¿Forma más rápida de obtener múltiples FileInfo?
- 30. ¿Forma más rápida de revisar rectángulos intersecados?
no puedo usar XML di directamente debido a un requisito en la especificación, pero estoy de acuerdo con usted. ¡Gracias! – BeachRunnerFred
@BeachRunnerJoe: ¿Qué importación necesito escribir? 'import net.sf.json.JSONObject;' o 'import org.json.JSONObject;'. ¿Qué tarro necesito incluir? –
Muchas gracias por su pregunta –