Um die gewünschte JSON-Ausgabe zu erzielen, sind Ihre Klassen korrekt strukturiert. ValueData stellt das Hauptobjekt dar, das eine Liste von ValueItems enthält. Jedes ValueItems-Objekt stellt einen Eintrag im Informationsarray dar.
Um das ValueData-Objekt in JSON zu konvertieren, müssen Sie die Jackson-Bibliothek verwenden:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.3</version> </dependency>
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; public static void main(String[] args) throws Exception { // Create Java object ValueData valueData = ... ; // Create and initialize the ValueData object ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); String json = ow.writeValueAsString(valueData); System.out.println(json); }
Die Methode writeValueAsString generiert den JSON-String im gewünschten Format:
{ "information": [{ "timestamp": "xxxx", "feature": "xxxx", "ean": 1234, "data": "xxxx" }, { "timestamp": "yyy", "feature": "yyy", "ean": 12345, "data": "yyy" }] }
Diese Ausgabe entspricht dem gewünschten JSON-Format, das in Ihrer Frage angegeben ist.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Java-Objekte mit Jackson in JSON?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!