时间:2021-05-22
将json转为结构体时,经常会遇到无法确定某个字段类型的情况。在Go中可以使用interface 任意类型来解决。
// convert json to struct// type uncertainpackage mainimport ( "fmt" "encoding/json")type Host struct { Id interface{} IdcId interface{}}func main() { b := []byte(`{"ID": 11, "IDCid": "1001"}`) m := Host{} err := json.Unmarshal(b, &m) if err != nil { fmt.Println("Umarshal failed:", err) return } fmt.Printf("m:%#v\n", m)}output:
m:main.Host{Id:11, IdcId:”1001”}}补充:gin bindJSON结构体中有不确定类型的字段
结构体中有不确定类型的字段,用interface{},BindJSON后根据输入自动存储对应类型,比如
type student struct { Name string `json:"name"` Info interface{} `json:"info"`}比如,info的输入
输入
类型
12
float64
“str”
string
{"str":"value"}
map[string]interface {}
true
bool
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在写接口测试框架时。避免不了数据类型的转换,比如强制转换string类型,比如转json类型str转jsonpython字符串转json对象,需要使用json模
复制代码代码如下:#coding=utf8__author__='Administrator'#当函数的参数不确定时,可以使用*args和**kwargs。*a
在用户咨询网站建设费用时,经常不确定自己要做的网站属于什么类型的,既而就不确定自己的网站到底应该在哪个价格范围内。其实网站类型也不能划分的很明确,只能从大概的功
创建用户:/***创建一个或多个新用户insert字段和表名不确定时动态添加*/@TestpublicvoidcreateAccount(){Stringlin
在用户咨询网站建设费用时,经常不确定自己要做的网站属于什么类型的,既而就不确定自己的网站到底应该在哪个价格范围内。其实网站类型也不能划分的很明确,只能从大概的功