我的服務(wù)器上有一個(gè)非常簡(jiǎn)單的 JSON 文件,只是{ "first_name": "John", "last_name": "Doe"}然后我寫(xiě)了一個(gè) golang 腳本來(lái)打印出名字:package mainimport ( "fmt" "net/http" "encoding/json") type Person struct { FirstName string `json: "first_name"` LastName string `json: "last_name"`}func main() { url := "http://myserver.com/test.json" res, err := http.Get(url) if err != nil { fmt.Printf("%s", err) } defer res.Body.Close() var person Person dec := json.NewDecoder(res.Body).Decode(&person) if dec != nil { fmt.Printf("%s", dec) } fmt.Println(person.FirstName)}但是如果我輸入go run test.go它似乎總是只打印一個(gè)換行符。我究竟做錯(cuò)了什么?
1 回答

慕尼黑8549860
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
您的代碼正在您的 json 中搜索FirstName
和LastName
鍵。如果你想讓結(jié)構(gòu)標(biāo)簽生效,你需要去掉冒號(hào)和引號(hào)之間的空格。json:"first_name"
https://golang.org/pkg/reflect/#StructTag
- 1 回答
- 0 關(guān)注
- 192 瀏覽
添加回答
舉報(bào)
0/150
提交
取消