Announcement

Collapse
No announcement yet.

JAXB: JSON Objekt ohne Feldnamen unmarshallen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JAXB: JSON Objekt ohne Feldnamen unmarshallen

    Hallo zusammen,
    Ich habe folgendes JSON Objekt bestehend aus Koordinaten mit Longitude und Latitude:
    Code:
    [[[6.78904218805,50.0958376457],[6.79038116203,50.0948361438],[6.79122304648,50.0944580982],...
    Dies muss ich in eine Liste von Koordinaten mit den Attributen longitude und latitude unmarshallen in Java mit JAXB. Wenn ich die Feldnamen im JSON Objekt hätte, wäre dies kein Problem, so weiß ich aber nicht, ob dies überhaupt funktioniert. Die Datenbank mit den Koordinaten im JSON Format existiert bereits, deswegen kann ich die Feldnamen nicht nachträglich vor jede einzelne Koordinate setzen.

    Vielen Dank fürs Antworten im Voraus!

    Gruß,
    Dennis

  • #2
    JAXB beruht auf einem Klassenmodel. Entwerfe eine Klasse, die die Attribute enthält und die von JAXB aufgelöst werden kann.
    http://stackoverflow.com/questions/1...ects-from-json

    Was die Datenbank damit zu tun hat, verstehe ich nicht
    Christian

    Comment


    • #3
      Hallo,
      Danke für deine schnelle Antwort.
      Das war mir klar, wenn in dem JSON Objekt die Feldnamen davor stehen, also longitude=1.23,latitude=1.23 dann ist das alles kein Problem.
      Die Frage ist nur, ob es auch eine Möglichkeit gibt das ganze ohne Feldnamen zu realisieren.
      Ich habe schon GSON (http://www.javacreed.com/gson-annotations-example/) gefunden, mit dem man die Feldnamen ändern kann, aber dies funktioniert auch nicht komplett ohne einen Feldnamen.

      Folgend ist die JavaBean, in welches ungemarshallt werden soll (genauer in eine List<Coordinate>).
      Code:
      public class Coordinate {
      	private double longitude;
      	private double latitude;
      
      	public double getLongitude() {
      		return longitude;
      	}
      
      	public void setLongitude(final double longitude) {
      		this.longitude = longitude;
      	}
      
      	public double getLatitude() {
      		return latitude;
      	}
      
      	public void setLatitude(final double latitude) {
      		this.latitude = latitude;
      	}
      }
      Gruß,
      Dennis

      Comment


      • #4
        Versuche doch einfach das ganze erstmal in die Array Struktur zu deserialisieren. Danach kannst Du das Array ja relativ leicht in die von Dir gewünschte Datenstruktur ummappen.

        Comment

        Working...
        X