Wie kann eine Json Datei in ein Java Objekt eingelesen werden? Es kommt doch hin und wieder mal vor, das man eine Json Datei hat, die man einlesen will. Man könnte es generisch einlesen. Oder man erzeugt sich die nötigen Java BEs bzw. Pojos und liest die Datei dann ein. Hier mal ein Beispiel mit gson zum einlesen in die zuvor erzeugten Java Klassen.
Es muss in der pom.xml diese Abhängigkeit ergänzt werden:
|
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.7</version> <scope>compile</scope> </dependency> |
Z.B. diese aircraft.json Datei. Die Felder werden hier beschrieben. Die Datei wird vom Dump1090 Server alle paar Sekunden aktualisert.
|
{ "now" : 1477853643.7, "messages" : 45918404, "aircraft" : [ {"hex":"471f87","altitude":38025,"vert_rate":-64,"track":287,"speed":393,"mlat":[],"tisb":[],"messages":5,"seen":0.1,"rssi":-35.3}, {"hex":"48520c","squawk":"6441","altitude":38000,"mlat":[],"tisb":[],"messages":26,"seen":7.2,"rssi":-35.0}, {"hex":"3c644a","squawk":"3537","flight":"DLH2TR ","lat":52.605377,"lon":10.574875,"nucp":7,"seen_pos":13.9,"altitude":38025,"vert_rate":0,"track":191,"speed":488,"category":"A0","mlat":[],"tisb":[],"messages":306,"seen":3.8,"rssi":-32.4}, {"hex":"4ca27a","mlat":[],"tisb":[],"messages":1654,"seen":121.9,"rssi":-35.3}, {"hex":"896184","mlat":[],"tisb":[],"messages":4657,"seen":295.6,"rssi":-35.7}, {"hex":"4ca2fe","altitude":37000,"mlat":[],"tisb":[],"messages":7085,"seen":3.6,"rssi":-35.6} ] } |
Wir schauen uns einfach die Struktur an, und erzeugen Java Klasse mit genau den Feldnamen, das ist wichtig da die Felder dann automatisch per reflection eingelesen werden. „Wie können Json Dateien in Java Objekte eingelesen werden mit google gson?“ weiterlesen