org - xml to json java gson
La forma más rápida de convertir XML a JSON en Java (6)
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 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í 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).
¿Cuáles son algunas buenas herramientas para convertir rápida y fácilmente XML a JSON en Java?
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());
}
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.
Para convertir el archivo XML en JSON, incluya la siguiente dependencia
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
</dependency>
y puedes descargar Jar de Maven Repository aquí . Luego implemente como:
String soapmessageString = "<xml>yourStringURLorFILE</xml>";
JSONObject soapDatainJsonObject = XML.toJSONObject(soapmessageString);
System.out.println(soapDatainJsonObject);
JSON en Java tiene algunos recursos geniales.
Dependencia de Maven:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20171018</version>
</dependency>
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/" ?><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());
}
}
}
La salida es:
{"test": {
"attrib": "moretest",
"content": "Turn this to JSON"
}}