試圖為地圖的每個部分創(chuàng)建一個 for 循環(huán)。map[asn:AS10 time:1.428790768e+09 ipv4s:[ 68.114.75.0/24 216.215.56.0/22 216.215.60.0/22] ipv6s:[ 2607:f3f8::/32]]上面是地圖,我想嘗試為中的每個值創(chuàng)建一個 for 循環(huán)ipv4s。我已經(jīng)嘗試過,但我顯然沒有正確地做到這一點,因為它只是基于我的 php 知識。:for json_map["ipv4s"]{ //whatever }PHP版本,如果有人需要一個例子而不是我試圖解釋:foreach($obj->ipv4s as $value) { echo $value; // return an ip}更新package mainimport ( "fmt" "net/http" "os" "encoding/json" )func main() { response, err := http.Get("https://www.enjen.net/asn-blocklist/index.php?asn=" + os.Args[1] + "&type=json_split&api=1") if err != nil { fmt.Printf("%s", err) os.Exit(1) } else { defer response.Body.Close() dec := json.NewDecoder(response.Body) if dec == nil { panic("Failed to start decoding JSON data") } json_map := make(map[string]interface{}) err = dec.Decode(&json_map) if err != nil { panic(err) } fmt.Printf("%v\n", json_map) for i := range json_map { for _, ip := range json_map[i]["ipv4s"] { fmt.Printf(ip) } } }}
1 回答

米脂
TA貢獻1836條經(jīng)驗 獲得超3個贊
一旦您完成了Go教程,Effective Go就是一個很好的來源。那里還描述了如何迭代切片:
for key, value := range json_map {
// ...
}
或者,如果您不需要密鑰:
for _, value := range json_map {
// ...
}
如果它是地圖切片,您可能需要嵌套兩個循環(huán):
for i := range json_map {
for _, ip := range json_map[i]["ipv4s"] {
// ...
}
}
- 1 回答
- 0 關注
- 233 瀏覽
添加回答
舉報
0/150
提交
取消