012-golang结构体或map转换成json

 

先来说结构体

 

func main() {

    stu:=Student{"张三",20,[]string{"男","未婚"}}

   bytes, err := json.Marshal(stu)

   if err != nil {
      fmt.Println(err)
      return
   }

   fmt.Println(string(bytes))

}

type Student struct {
   Name string
   Age int
   Data []string
}

 

 

我们来看看转换的json结果

{"Name":"张三","Age":20,"Data":["男","未婚"]}

 

这里的key必须是首字母大写,如果不想要首字母大写

我们可以用struct结构体的tag

 

type Student struct {
   Name string   `json:"name"`
   Age  int      `json:"age"`
   Data []string `json:"data"`
}

注意这里的tag要用`这个符号哦 ```

 

 

然后如果我们想把json格式化一下

可以用另一个方法

 

func main() {

   stu := Student{"张三", 20, []string{"男", "未婚"}}

   bytes, err := json.MarshalIndent(stu, "", " ")

   if err != nil {
      fmt.Println(err)
      return
   }

   fmt.Println(string(bytes))

}

type Student struct {
   Name string   `json:"name"`
   Age  int      `json:"age"`
   Data []string `json:"data"`
}

 

再看一下输出的json结果

 

{
 "name": "张三",
 "age": 20,
 "data": [
  "男",
  "未婚"
 ]
}

 

这样就已经格式化好了

更加的美观

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值