数据DEMO:腾讯位置服务 数据是 list 接口,页面下方有调用示例,可以点击打开新页面,看到调用接口时获得的数据结构
应该是自定义 struct 错误,像 DEMO 中的数据,该如何自定义 struct ?
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
type tude struct {
lat float32
lng float32
}
type region struct {
id string
name string
fullname string
location tude
cidx []int
pinyin []string
}
type response struct {
status int
message string
result []region
}
func main() {
resp, err := http.Get("http://apis.map.qq.com/ws/district/v1/list?key=")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
var rg response
json.Unmarshal(body, &rg)
fmt.Println(rg)
}
有疑问加站长微信联系(非本文作者)

结构体字段需要首字母大写才可以导出,不然解析不到数据的
谢谢回复! 是的。但是腾讯的接口返回的 json,并没有首字母大写,这种情况下,要怎么解析呢?
type tude struct{ Lat float32 `json:"lat"` }
谢谢回复! struct 是需要首字母大写的 但是从腾讯的接口拿到的数据,json 中的全部都是小写,这种 json 数据,该如何解析?
我好想明白你的意思了,谢谢!