Beego httplib.get过滤JSON

问题描述 投票:0回答:1

我是Golang的新手,遇到了问题。我使用包github.com/astaxie/beego/httplib,尝试从API获取信息

res := httplib.Get("example.com")

type SomeStruct struct {
   Type string
   Id string
   // ...
}

var itemStruct SomeStruct

err := res.ToJSON(&itemStruct)

问题:在API响应中,Id字段可能是字符串或数字(取决于Type字段),这就是为什么我得到错误json: cannot unmarshal number into Go value of type string。我想,我必须在ToJSON方法之前过滤响应。或者我必须创建只包含字段Type的结构,从API获取数据,按类型过滤。但在这种情况下,我怎样才能获得其他领域?谢谢

json go beego
1个回答
0
投票

是否可以制作Type类型的interface{}

在go中的转换非常干净,因此您可以在使用该类型时进行迭代和转换

for _, s := ss {
    switch v := s.Type.(type) {
    case string:
        // Do something
    cast int:
        // Do something else
    default:
        // Handle unexpected type gracefully.
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.