Gegenwärtig ist XML immer noch ein angesehenes und sehr nützliches Format, aber ein anderes Format, das den Maßstab in den Vordergrund stellt , und dies ist das JSON. Es ist beliebt, weil es sehr leicht ist und nicht viele Zeichen benötigt, um Strukturen zu erstellen. , aber es ist immer noch streng, so dass Sie es vertrauen können.
Anforderungen
– Para poder correr los ejemplos que dejamos aquí, es necesaria la instalación del JDK de Java en su versión 8, sino poseemos esta versión, la ejecución de los mismos no será exitosa, además es recomendable no instalar Java 9 ya que aún está en fase de pruebas y puede contener algunos errores. 1 – Um die Beispiele auszuführen, die wir hier belassen, muss Java JDK in der Version 8 installiert werden. Wir verfügen jedoch über diese Version. Die Ausführung wird nicht erfolgreich sein. Außerdem wird empfohlen, Java 9 nicht zu installieren, da es sich noch in der Version 8 befindet Testphase und kann einige Fehler enthalten.
– Debemos también tener un editor de textos para codificar, puede ser Sublime Text o un IDE como Eclipse si este es más del gusto del desarrollador. 2 – Wir müssen auch einen Texteditor zum Codieren haben, es kann sich um Sublime Text oder eine IDE wie Eclipse handeln, wenn dies mehr zum Vergnügen des Entwicklers ist.
– Finalmente debemos tener permisos de ejecución en consola de los comandos, así como nuestras variables de entorno estén seteadas con los valores correctos para compilar y ejecutar las aplicaciones que desarrollemos. 3 – Schließlich müssen wir Ausführungsberechtigungen in der Konsole der Befehle haben, und unsere Umgebungsvariablen müssen mit den richtigen Werten festgelegt werden, um die von uns entwickelten Anwendungen zu kompilieren und auszuführen.
JSON
JSON entspricht dem Akronym JavaScript Object Notation und ist ein natives JavaScript- Format, wie der Name schon sagt. Aufgrund seiner Vielseitigkeit und der einfachen Art, Dokumente zu erstellen, ist es jedoch eine hervorragende Option für die Arbeit.
Es ist in der Regel in Web-Systemen zu finden, hat jedoch in letzter Zeit eine führende Rolle in nicht relationalen Datenbanksystemen wie MongoDB-Link oder CouchDB- Link übernommen, um die Dokumente und deren unterschiedliche Konfigurationen zu verwalten.
Dieses Format ist auch deshalb populär geworden, weil es die Grundlage für die Übertragung von Informationen aus den verschiedenen modernen REST- Diensten für APIs wie Facebook oder Twitter ist , sodass Ihr Wissen immer eine gute Ergänzung unserer Fähigkeiten darstellt.
JSON in Java
Das JSON- Format, ein reines Textformat mit einer weniger komplexen Struktur, ermöglicht es uns, es direkt als Zeichenfolge zu generieren. Dies ist eine der ersten Formen, die wir verwenden können.
In Java ist die Generierung in diesem JSON- Modus recht einfach, wenn eine Bibliothek mit Zeichenfolgen oder Textzeichenfolgen so vollständig sein soll. Wenn wir von sehr komplexen Dokumenten sprechen, verlieren wir natürlich auf praktischer Ebene die Leichtigkeit, unsere Inhalte zu verwalten, aber das bedeutet nicht, dass es sich um eine nutzlose Methode handelt.
Ein Beispiel für eine JSON- Datei kann wie folgt ausgedrückt werden:
{"Tag": "Montag", "Monat": "Februar"}
Wie wir sehen können, ist es überhaupt nicht komplex und kann nahezu unendlich erweitert werden, zum Beispiel:
{"Tag": {"Nummer": "01", "Woche": "Montag"}, "Monat": "Februar"}
So können wir je nach Tiefe und Komplexität, die unsere Anwendung vorschreibt, unterschiedliche Strukturen erstellen. Im Folgenden sehen Sie ein kleines Beispiel für die direkte Generierung eines JSON- Dokuments mit Java .
Die Anwendung
Wir werden eine JSON- Datei generieren, in der wir das Datum unseres Systems speichern. Dazu werden wir natürlich die Date- Klasse von Java verwenden und einige Methoden erstellen, die uns helfen, die Informationen zu sammeln und zu formatieren ausreichend.
Schauen wir uns zuerst den Code an und erklären dann Schritt für Schritt, was wir getan haben.
import java.time.LocalDate; public class jsonManual {private static end String OPENING = "{"; private static final String CLOSE = "}"; public static void main (String [] args) {LocalDate currentDate = LocalDate.now (); System.out.println (convertJson (aktuelles Datum)); } public static String convertJson (LocalDate currentDate) {StringBuilder-Element = new StringBuilder (); element.append (OPEN) .append (" n"); element.append (formatJson ("year", dateActual.getYear ())); element.append (formatJson ("month", dateActual.getMonth ())); element.append (formatJson ("day", dateActual.getDayOfMonth ())); element.append (CLOSE) .append (" n"); return element.toString (); } public static String formatJson (Zeichenfolgenschlüssel, Objektwert) {return String.format (""% s ": "% s ", n", Schlüssel, Wert); }}
Wenn wir uns als Erstes ansehen, definieren wir in einigen Variablen den Start und das Schließen unseres JSON , um sie zu entfernen und sie zu einem bestimmten Zeitpunkt zu bearbeiten.
Anschließend erstellen wir unsere Hauptmethode , in der wir unsere Hauptmethode aufrufen, die den generierten JSON-Code zurückgibt. Diese Methode übernimmt die Daten aus dem Datum und ruft eine dritte Methode auf, die sich um die Ausgabe kümmert das notwendige Format für jedes Element in unserem JSON .
Wenn wir unsere Datei kompilieren und dann ausführen, erhalten wir das JSON- Format auf korrekte Weise. Dies ist in der folgenden Abbildung dargestellt:
Zusätzliche Tools
Das Obige ist zwar nicht schlecht, erfordert jedoch viel Arbeit, um Elemente zu extrahieren, die in JSON gültig sind. Aus diesem Grund verfügen wir über einige Tools, mit denen wir die Verarbeitung und Generierung dieser Art von Dokumenten verbessern können.
Am weitesten fortgeschritten ist Jackson , ein Tool von Drittanbietern, das wir herunterladen und in unsere Projekte einbinden können. Es ermöglicht uns, die Elemente auf einfache Weise wie folgt zu erstellen:
Zeichenfolge jsonInput = "{" id ": 0," name ":" Ramon "," Nachname ":" Perez "} Person q = mapper.readValue (jsonInput, Person. class); System.out.println ("Aus JSON lesen:" + q);
Wie wir sehen, ist es etwas viel Zusammenfassenderes als der vollständig manuelle Teil, den wir zu Beginn entwickelt haben.
Das nächste Tool ist org.json, das nicht so weit fortgeschritten ist wie Jackson . Es gibt uns jedoch etwas mehr Form, um unsere JSON- Dokumente zu generieren wenig mehr Energie, um die Informationen aus dem JSON- Ansatz zu präsentieren.
Ein Beispiel für die Anwendung dieses Tools kann wie folgt aussehen:
JSONObject jsonObject = new JSONObject (); jsonObject.put ("Name", "Ramon Perez"). Put ("Land", "Spanien"). Put ("Alter", "24"); String document = jsonObject.toString (); System.out.println (Dokument);
Wie wir sehen können, mussten wir keine schließenden oder öffnenden Tags generieren und wir mussten keine Escapezeichen für die verschiedenen Textzeichenfolgen setzen.
XML
Das XML- Format ist ein altes, das vielen bekannt ist, und für andere kann es als nicht verwendet angesehen werden, aber in Wirklichkeit ist es immer noch sehr gültig und vielleicht auch in Zukunft. Einer der Bereiche der aktuellen Anwendungen liegt in Android- Anwendungen. Wir haben es also mit Sicherheit gesehen, oder wir werden es sehen.
Wie im Fall von JSON ist diese Methode ein wenig rudimentär, aber sie hilft uns zu demonstrieren, wie wir mit Java die vorgeschlagenen Ziele erreichen können. Im folgenden Beispielcode wird gezeigt, wie aus einem DOM ein XML- Dokument erstellt werden kann.
Paket xml; Import javax.xml.parsers.DocumentBuilder; Import javax.xml.parsers.DocumentBuilderFactory; Import org.w3c.dom.Document; Import org.w3c.dom.Node; Import javax.xml.transform. *; Import javax .xml.transform.dom. *; import javax.xml.transform.stream. *; public class XmlManual {public statisch void main (String [] av) löst eine Ausnahme aus {Document doc = generateDocument (); System.out.println ("Starten des Dokuments"); Transformer tx = TransformerFactory.newInstance (). NewTransformer (); tx.setOutputProperty (OutputKeys.INDENT, "yes"); tx.transform (neue DOMSource (doc), neues StreamResult (System.out));} public static Document generateDocument () {try {DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance (); DocumentBuilder parser = fact.newDocumentBuilder (); Dokument document = parser.newDocument (); Knoten root = document.createElement ("Person"); document.appendChild (root); Body node = document.createElement ("Student"); root.appendChild (body); Knotenzeile = documento.createElement ("Spanien"); body.appendChild (line); body.appendChild (line); line.appendChild (document.createTextNode ("Other content")); Dokument zurücksenden; } catch (Ausnahme ex) {System.err.println ("Ein Fehler ist aufgetreten:"); System.err.println (ex.getClass ()); System.err.println (ex.getMessage ()); return null; }}}
Mit dieser Übung können wir ein etwas tieferes Verständnis dafür erlangen, was es bedeutet, Formate wie XML in die Java- Welt aufzunehmen.
Andere Werkzeuge
Ein Format mit so viel Geschichte und Nützlichkeit zu sein, macht es möglich, viele Tools zu finden, die für die Sprache entwickelt wurden. Aus diesem Grund ist es ausreichend, ein wenig durch Google zu gehen, um einige Juwelen zu finden, die unser Leben erleichtern können.
Unter diesen Werkzeugen finden wir:
- SAX
- XSLT
- JAXB
Die Aufgabe, die wir uns stellen, besteht darin, diese Tools zu untersuchen. Mit dem hier erworbenen Wissen können sie die Funktionalität und Vielseitigkeit ihrer Anwendungen mithilfe dieser Dokumentformate erhöhen.
Es ist wichtig, dass Sie nicht aufhören zu üben, um all dieses Wissen zu verarbeiten und nach den minimalen Möglichkeiten zu suchen, um unsere Lösungen für die Entwicklungen umzusetzen. Mit diesem Abschluss dieses Tutorials haben wir bereits in grundlegender, aber recht vollständiger Weise gelernt, wie wir JSON und XML in unseren in Java geschriebenen Programmen erstellen können.