欢迎来到代码驿站!

Golang

当前位置:首页 > 脚本语言 > Golang

golang 实现json类型不确定时的转换

时间:2021-04-06 10:03:05|栏目:Golang|点击:

将json转为结构体时,经常会遇到无法确定某个字段类型的情况。在Go中可以使用interface 任意类型来解决。

// convert json to struct
// type uncertain
package main
import (
 "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

上一篇:go redis实现滑动窗口限流的方式(redis版)

栏    目:Golang

下一篇:在go文件服务器加入http.StripPrefix的用途介绍

本文标题:golang 实现json类型不确定时的转换

本文地址:http://www.codeinn.net/misctech/95821.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有