我正在从localhost读取json文档并尝试将其转换为Test
类型:
type Test struct {
one string
two string
three string
}
res, err := http.Get("http://localhost/d/")
perror(err)
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
perror(err)
var data Test
err = json.Unmarshal(body, &data)
if err != nil {
fmt.Printf("%T\n%s\n%#v\n",err, err, err)
switch v := err.(type){
case *json.SyntaxError:
fmt.Println(string(body[v.Offset - 40:v.Offset]))
}
}
fmt.Println("response:")
fmt.Println(string(body))
fmt.Println("type:")
fmt.Println(data)
但输出显示一个空对象:
response:
{
"one" : "one thing",
"two" : "two things",
"three" : "3 things"
}
type:
{ }
我做错了什么?
答案 0 :(得分:2)
您必须导出结构字段,使它们以大写字母开头。