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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33781658/article/details/83750382

先来说结构体

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": [
  "男",
  "未婚"
 ]
}

这样就已经格式化好了

更加的美观

猜你喜欢

转载自blog.csdn.net/qq_33781658/article/details/83750382
今日推荐