Próbuję przekonwertować strukturę Go na JSON przy użyciu pakietu json
, ale otrzymuję tylko {}
. Jestem pewien, że jest to coś zupełnie oczywistego, ale tego nie widzę.Konwersja struktury Go na JSON
package main
import (
"fmt"
"encoding/json"
)
type User struct {
name string
}
func main() {
user := &User{name:"Frank"}
b, err := json.Marshal(user)
if err != nil {
fmt.Printf("Error: %s", err)
return;
}
fmt.Println(string(b))
}
Wtedy, gdy próbuję uruchomić go uzyskać to:
$ 6g test.go && 6l -o test test.6 && ./test
{}
Zauważ, że możesz dodać '\' json: "name" \ '' na końcu definicji pola struct, aby zachować nazwę wyjściową. – Dustin
Rozumiem. Trochę lubię ten język, ale myślę, że niektóre elementy syntaktyczne sięgają daleko. Jeśli nazwa elementu struct określa zachowanie, to jest to po prostu niepoprawne. – magiconair
Cóż, posiadanie nazwy określającej zachowanie może być przedmiotem dyskusji, jeśli jest dobre lub złe :), ale z pewnością ułatwi sprawdzenie, czy pole jest eksportowane, czy nie, bez konieczności sprawdzania gdzie indziej. – Olof