13 JSON Grundlagen

Werbung
JSON
JavaScript Object Notation
JSON
•
JSON steht für "JavaScript Object Notation" und definiert ein Datenformat, in dem
Informationen wie Objekte, Arrays und sonstige Variablen in lesbarer Form gespeichert
werden können. In den meisten Sprachen gibt es Parser, die den JSON String in eine
entsprechende Variable verwandeln.
•
Die Notation von JSON weicht in einigen Punkten von der JavaScript-Syntax ab:
•
•
Alle Eigenschaftsnamen in einem Objekt müssen in doppelten Anführungszeichen
notiert sein.
•
Führende Kommas in Objekten und Arrays sind verboten.
•
Bei Zahlen sind führende Nullen verboten und einem Dezimalpunkt muss mindestens
eine Ziffer folgen.
•
Strings müssen durch doppelte Anführungszeichen begrenzt sein. Es darf nur ein
beschränktes Set von Zeichen escaped werden. Bestimmte Kontrollzeichen sind
ganz verboten.
JSON wird häufig in Verbindung mit Ajax genutzt, um einfach Informationen zwischen
dem Clienten und dem Server auszutauschen und ist eine praktische Alternative zu XML.
http://wiki.selfhtml.org/wiki/JavaScript/JSON
2
JSON Beispiel
Value
JsonObject
Array
Key
3
Einsatz
•
einfaches Datenaustauschformat
•
JSON wird zur Übertragung und zum Speichern
von strukturierten Daten eingesetzt; es dient als
Datenformat bei der Serialisierung. Insbesondere
bei Webanwendungen und mobilen Apps wird es
in Verbindung mit JavaScript, Ajax oder
WebSockets zum Transfer von Daten zwischen
dem Client und dem Server häufig genutzt.
[Wikipedia]
Datentypen
http://www.tutorialspoint.com/json/json_data_types.htm
http://www.tutorialspoint.com/json/json_data_types.htm
Frameworks in Java
•
JSON-P: javax.json - Standardimplementierung
•
Jackson
•
Google Gson
•
JSON-lib
•
…
JSON Processing in Java
•
JSON-P stellt zwei unterschiedliche JSON-APIs zur
Verfügung:
•
Object Model API: wir verwenden diese API
•
Streaming API: Low-Level-API, zur effizienten
Verarbeitung großer JSON-Datenmengen,
vergleichbar mit der StAX API für XML
https://jsonp.java.net/
7
Maven Dependency
•
Diese Dependency wird nur in JavaSE Projekten
gebraucht
Zugriff auf JSON-Objekte
aus File in ein JsonObject
besser ist die Verwendung
von try-resources
Zugriff auf Elemente des JsonObjects
http://www.journaldev.com/2315/java-json-processing-api-example-tutorial
9
1. Lesen aus File
•
JsonStructure (ein Interface) kann entweder ein
JsonArray oder JsonObject sein
1. oder aus String
•
Man könnte zB ein File per FileUpload hochladen
und so auf die Inhalte zugreifen
2. Check the JsonStructure
•
and cast the JsonStructure to a JsonArray
3. Iterate over a JsonArray
JsonObject als String
Werte des JsonObjects
•
Access the Values of the JsonObjects with getInt(),
getString(), getNumber(), getBoolean()
•
Dates and Doubles has to be converted
Example
…
4. Iterate over a JsonObject
Erstellen eines JSONObjekts
http://www.journaldev.com/2315/java-json-processing-api-example-tutorial
16
Noch
Fragen?
17
Herunterladen