试图为地图的每个部分创建一个 for 循环。
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
]]
上面是地图,我想尝试为中的每个值创建一个 for 循环ipv4s。
我已经尝试过,但我显然没有正确地做到这一点,因为它只是基于我的 php 知识。:
for json_map["ipv4s"]{
//whatever
}
PHP版本,如果有人需要一个例子而不是我试图解释:
foreach($obj->ipv4s as $value) {
echo $value; // return an ip
}
更新
package main
import (
"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)
}
}
}
}
米脂
相关分类