如何解码json数据Go

时间:2018-05-14 13:47:24

标签: json go

如何以明文形式获得此输出 任何解析数据的简单方法?

func iplocation() {
    var ip string
    fmt.Print("Enter IP Adress: ")
    fmt.Scan(&ip)
    lip, err := http.Get("http://ipinfo.io/" + ip + "/geo")
    if err != nil {
        log.Fatal(err)
        os.Exit(0)
    }
    defer lip.Body.Close()
    loc, err := ioutil.ReadAll(lip.Body)
    if err != nil {
        log.Fatal(err)
        os.Exit(0)
    }
    lstring := string(loc)
    fmt.Println(lstring)
    os.Exit(0)
}

输出

{
  "ip": "216.58.208.78",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.4192,-122.0570",
  "postal": "94043"
}

我希望得到像这样的输出

  ip: 216.58.208.78,
  city: Mountain View,
  region: California,
  country: US,
  loc: 37.4192,-122.0570,
  postal: 94043 

不是json格式

1 个答案:

答案 0 :(得分:0)

你需要做两件事:

  1. 您需要解组从服务器收到的JSON。 json包将为您执行此操作。

  2. 您需要以您想要的格式输出数据。您可以使用fmt.Printf或类似内容。