我試圖使用json
包將Go結構轉換爲JSON,但我得到的全部是{}
。我確定這是非常明顯的,但我沒有看到它。將Go結構轉換爲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))
}
然後,當我嘗試運行它,我得到這個:
$ 6g test.go && 6l -o test test.6 && ./test
{}
請注意,您可以在struct字段定義的末尾添加'\'json:「name」\''以保留輸出名稱。 – Dustin
我明白了。我有點喜歡這種語言,但我認爲一些語法元素走到了盡頭。如果一個結構成員的名字決定了行爲,那麼這就錯了。 – magiconair
那麼,名稱決定行爲可以辯論,如果它的好或不好:)但它確定可以很容易地知道,如果一個字段導出或不,而不必檢查其他地方。 – Olof