GSON: So verschieben Sie Felder in ein übergeordnetes Objekt

Ich benutzeGoogle GSON mein Java-Objekt in JSON zu transformieren.

Derzeit habe ich folgende Struktur:

"Step": {
  "start_name": "Start",
  "end_name": "End",
  "data": {
    "duration": {
      "value": 292,
      "text": "4 min."
    },
    "distance": {
       "value": 1009.0,
       "text": "1 km"
    },
    "location": {
       "lat": 59.0000,
       "lng": 9.0000,
       "alt": 0.0
    }
  }
}

Derzeit aDuration Objekt ist in einemData Objekt. Ich möchte das überspringenData Objekt und bewegen Sie dieDuration Einspruch gegen dieStep Objekt, wie folgt:

"Step": {
  "start_name": "Start",
  "end_name": "End",
  "duration": {
    "value": 292,
    "text": "4 min."
  },
  "distance": {
     "value": 1009.0,
     "text": "1 km"
  },
  "location": {
     "lat": 59.0000,
     "lng": 9.0000,
     "alt": 0.0
  }
}

Wie kann ich das mit GSON machen?

BEARBEITEN: Ich habe versucht, mit einem TypeAdapter die Step.class zu ändern, aber in der Write-Methode kann ich mein Duration-Objekt nicht zum JsonWriter hinzufügen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage