在GO
实现unmarshaljson的派生标量类型,请考虑以下步骤:用于以下步骤: 将字符串删除:
代码示例: package main
进口 (
“编码/JSON”
“ FMT”
)
类型themid int
const(
鲍勃personid = iota
简
拉尔夫
没有人= -1
)
var namemap = map [string] persyid {
“鲍勃”:鲍勃,
“简”:简,
“拉尔夫”:拉尔夫,
“没人”:没人,
}
var idmap = map [persyid]字符串{
鲍勃:“鲍勃”,
简:“简”,
拉尔夫:“拉尔夫”,
没有人:“没人”,
}
func(intvalue persyid)名称()字符串{
返回IDMAP [INTVALUE]
}
func查找(名称字符串)persyid {
返回namemap [名称]
}
func(intvalue *personid)unmarshaljson(data [] byte)错误{
var s string
如果err:= json.unmarshal(data,&s); err!= nil {
返回错误
}
*intvalue =查找(S)
返回无
}
键入mytype struct {
人persyid`json:“人”``````````
count int json:“ count”```````
问候字符串`json:“问候”``````
}
func main(){
var m mytype
如果err:= json.unmarshal([] byte('{“ person”:“ ralph”,“ count”:4,“问候”:“ hello”}`),&m); err!= nil {
fmt.println(err)
} 别的 {
对于我:= 0;我
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3