Convertissez XML en JSON en Java

JSON Chaque fois est devenu plus populaire au détriment de XML. De nombreux services Web continuent de travailler avec XML, mais beaucoup d’autres ne le font déjà que avec Json. Nous pouvons nous voir dans la nécessité de convertir XML en JSON, en particulier dans des situations où vous souhaitez communiquer avec JavaScript, où l’interprétation d’une chaîne JSON est beaucoup plus facile.

Un moyen rapide consiste à utiliser le JSON dans la bibliothèque Java, à l’aide du package Org.json. Ce paquet peut être téléchargé dans GitHub et l’ajouter à la classe de classe de projet pour pouvoir y référencer ou l’ajouter sous forme de dépendance maven comme suit:

>

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

L’une des fonctions intéressantes de ce paquet est responsable de la conversion de XML à JSON elle-même. Cette fonction s’appelle xmlstringtojsonstring et reçoit deux paramètres. Le premier est une chaîne avec la chaîne XML et la seconde est un entier avec le facteur d’identification, c’est-à-dire le nombre d’espaces avec lesquels chaque niveau du JSON résultant sera identifié. Le contenu de cette fonction est le suivant.

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

Exemple de convertir un XML en JSON

Suivant, un exemple simple de Utilisation de cette fonction. Dans cet exemple, le contenu du XML a été déclaré dans une variable (XMLentrada) et est transmis à la fonction responsable de la conversion, indiquant quatre espaces d’identification. Le résultat de la conversion sera affiché sur la 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()); }}}

Lorsque vous exécutez le code précédent, la sortie de la console serait la suivante. Comme on peut le voir, il s’agit d’un JSON valide, avec quatre espaces d’identification à chaque niveau pour faciliter sa lecture.

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *