json.Marshal(struct) gibt leeres JSON "{}" zurück: Wie beheben?
Hallo zusammen! Ich bin neu in Go und habe ein seltsames Problem bei der Arbeit mit JSON. Ich habe eine Struktur, fülle sie mit Daten, versuche mit `json.Marshal()` in JSON zu serialisieren, aber ich bekomme nur leere geschweifte Klammern `{}`. Hier ist mein Code:
```go
package main
import (
"encoding/json"
"fmt"
)
type User struct {
Name string
Age int
}
func main() {
u := User{"Alice", 30}
result, err := json.Marshal(u)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(string(result)) // Ausgabe: {}
}
```
Ich erwartete `{"Name":"Alice","Age":30}`, sehe aber nur `{}`. Es gibt keinen Fehler, aber die Daten gehen verloren. Was mache ich falsch? Ich habe überprüft, dass die Struktur korrekt gefüllt ist – wenn ich die Felder mit `fmt.Println(u.Name, u.Age)` ausgebe, werden sie korrekt angezeigt. Das Problem liegt genau im Marshaling. Bitte sagt mir, woran es liegt? Ich verwende Go 1.21 unter Windows. Vielen Dank im Voraus!
<<>>
Warum gibt json.Marshal() leer
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen