這個問題在這里已經有了答案: json.Unmarshal 回傳空白結構 1 個回答 (un) marshalling json golang 不起作用 (3 個回答) 解組 JSON 物件以在 Go 中進行結構化 - 結果為空 [重復] (1 個回答) 6 小時前關閉。
我試圖列印出類似的東西,[{coolGuy} {penguin}]但由于某種原因,它只是列印出[{} {}]. 問題是什么?
package main
import (
"fmt"
"encoding/json"
)
type Username struct {
username string
}
func main() {
usernamesJson := `[{"username":"coolGuy"},{"username":"penguin"}]`;
var usernames []Username;
err := json.Unmarshal([]byte(usernamesJson), &usernames);
if err != nil {
fmt.Println(err);
}
fmt.Printf("%v\n", usernames);
}
uj5u.com熱心網友回復:
欄位username未匯出。要匯出欄位,它需要以大寫字母開頭:
type Username struct {
Username string
}
因為Unmarshal()位于不同的包 ( json) 中,所以它無法訪問結構中未匯出的欄位。如果您想讓包代碼中的任何欄位可見,則需要將其匯出。在 Go 標記欄位中,型別、變數、函式匯出只需以大寫字母開頭即可完成。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/384851.html
上一篇:復制陣列的某些元素將不起作用
