Update 10 de julio de 2020 - Se agregó funcionalidad para convertir números a cadena utilizando el parámetro NUM_TO_STRING.
Introducción:
Recientemente intentaba convertir XML a JSON en el siguiente formato en SAP 7.4 y también intentaba eliminar ciertas etiquetas de la estructura XML y forzar algunos nodos como un Array JSON.
[
{
record : [
{ key1: value1 }
]
},
{
record : [
{ key1: value1 },
{ key1: value2 }
]
}
]
Se puede convertir fácilmente XML a JSON en el canal REST. Sin embargo, hay muchas restricciones en SAP PI/PO.
Además, en SAP PO 7.5 se puede eliminar fácilmente un nombre de clave enumerando las etiquetas en 'setIgnoredElements' en el canal receptor REST. Sin embargo, esta libertad no está disponible en las versiones de SAP PI 7.4 y anteriores. El bean
Conversión personalizada de XML a JSON
tampoco ayuda mucho aquí, especialmente si desea eliminar un nodo de la estructura JSON. Por lo tanto, he implementado un Mapeo Genérico de Java que se puede utilizar para lograr esto y muchas otras tareas.
Este blog se centra en la conversión de XML a JSON utilizando el Mapeo de Java y también proporciona la libertad para jugar con la estructura.
Esto se puede utilizar en cualquier versión de SAP PI/PO.
Beneficios de usar este Mapeo:
-
Convierte XML a JSON
-
Fuerza la conversión de JSONObject a JSONArray
-
Oculta los nombres de las etiquetas en la estructura JSON
-
Elimina el par clave y valor de una estructura JSON
-
Elimina las etiquetas iniciales en la estructura JSON
-
Convierte la etiqueta raíz JSON a Array
-
Convierte números a cadenas
Se ilustran ejemplos más adelante después de la sección de implementación.
Implementación:
Paso 1
:- Obtenga el archivo JAR de Mapeo de JAVA
Puede descargar directamente el archivo zip desde
aquí
y descomprimirlo.
Este zip contiene 2 archivos JAR. Importe los 2 archivos jar en SAP ESR como Archivos Importados.
Tenga en cuenta que el mapeo de Java utiliza la biblioteca java org.json.XML para convertir XML a JSON, por lo que si no está en su biblioteca SAP, recibirá el error 'org.json.XML' faltante. Así que importe también el archivo jar orgXmlJson.
Paso 2:-
Utilice el mapeo de Java en su mapeo de operaciones
Paso 3:-
Defina los 5 parámetros de importación en el