2 回答

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以使用所需字段創(chuàng)建一個(gè)結(jié)構(gòu),并使用該結(jié)構(gòu)取消封送 JSON 字節(jié),該結(jié)構(gòu)將填充結(jié)構(gòu)中提到的字段。
type Something struct {
AvailableIpAddressCount int `json:"AvailableIpAddressCount"`
}
var data Something
if err := json.unmarshal(byt, &data); err != nil {
panic(err)
}
AvailableIpAddressCount = data.AvailableIpAddressCount

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
Go 使用靜態(tài)結(jié)構(gòu)來解碼 json,因此您可能需要?jiǎng)?chuàng)建一個(gè)至少包含您要查找的內(nèi)容的結(jié)構(gòu)。如果您有您的結(jié)構(gòu),則可以像這樣訪問可用IP地址計(jì)數(shù):
tmp.Subnets[0].AvailableIPAddressCount
這是游樂場(chǎng) https://play.golang.org/p/FsjeOubov1Q。
要從示例 json 創(chuàng)建 json 結(jié)構(gòu),可以使用此類工具。
如果需要遍歷所有子網(wǎng):
for _, subnet := range tmp.Subnets { fmt.Println(subnet.AvailableIPAddressCount) }
如果要?jiǎng)討B(tài)使用 json,也可以使用 https://github.com/spf13/viper。但它可能比靜態(tài)解碼慢。
- 2 回答
- 0 關(guān)注
- 127 瀏覽
添加回答
舉報(bào)