下面是一個類似的例子:Parsing JSON in GoLang into struct 我從服務器獲取json響應,我只需要獲取某些數據。 我創建了一個示例代碼:如何解析golang中的結構並打印結構中的項目?
package main
import (
"fmt"
"encoding/json"
)
type response struct {
Response []struct {
Stats struct {
A int `json:"a"`
B float64 `json:"b"`
C int `json:"c"`
D float64 `json:"d"`
E float64 `json:"e"`
F float64 `json:"f"`
G float64 `json:"g"`
H float64 `json:"h"`
I float64 `json:"i"`
J float64 `json:"j"`
} `json:"stats"`
Data []struct {
Num0 int64 `json:"0"`
Num1 interface{} `json:"1"`
} `json:"data"`
} `json:"response"`
}
func main() {
src := `
{
"response": [{
"stats": {
"a": 458,
"b": 302.3738,
"c": 0,
"d": 706.777,
"e": 2.423,
"f": 238.73375,
"g": 68.971,
"h": 85.1989781659389,
"i": 84.6381777592766,
"j": 292658.49
},
"data": [
[1453222860000, null],
[1453223160000, 3.769],
[1453223220000, 37.464]
]
}
]
}
`
var g response
json.Unmarshal([]byte(src), &g)
fmt.Println(g.Response[0].Stats)
}
我得到的輸出是
`{458 302.3738 0 706.777 2.423 238.73375 68.971 85.1989781659389 84.6381777592766 292658.49}
`
我想從剛剛統計結構的某些項目。假設我想從stats結構體打印出A或J的值。我怎麼做? 我真的不需要數據結構。我從服務器得到的json響應給了我這些數據,但我並不需要它。無論如何,我的問題是我如何只得到Stats結構中的某些項目?
任何有關如何做到這一點,甚至改善我的結構格式的建議? 謝謝!
難道你不需要在當前打印結束時添加一個'.A'來獲得'A'字段嗎? – squiguy
我試過這樣做,但由於某種原因沒有起作用。無論如何,感謝您的幫助。下面的評論已經解決了我的問題。 – shishh03