3
可以說我有這種類型:在Go中解組json時,可以訪問「extra」字段嗎?
type Foo struct{
Bar string `json:"bar"`
}
,我想這個JSON解組到它:
in := []byte(`{"bar":"aaa", "baz":123}`)
foo := &Foo{}
json.Unmarshal(in,foo)
會成功就好了。我想至少知道有些字段在處理中被忽略。有沒有什麼好方法可以訪問這些信息?
非常有趣的解決方案。對於深嵌套的結構可能會有點困難,但應該使用簡單的結構。 – captncraig
@ captncraig是的它不是理想的。如果你想得到真正的認可,我想你可以實現一個通用的解決方案,通過展開'allFields'映射並使用遞歸算法來獲取所有字段在具體類型中的嵌套結構。獲取字段名稱的FYI可能會發現這很有用; http://stackoverflow.com/questions/24337145/get-name-of-struct-field-using-reflection – evanmcdonnal
我真的很喜歡這個toml庫如何處理它:https://godoc.org/github.com/BurntSushi/ toml#MetaData.Undecoded,但那樣的事情將需要改變核心json包:( – captncraig