Loading

结构体标签在json中应用

image-20220830111518562

package main

import (
   "encoding/json"
   "fmt"
)

type Movie struct {
   Title  string   `json:"title"`
   Year   int      `json:"year"`
   Price  int      `json:"rmb"`
   Actors []string `json:"actors"`
}

func main() {
   movie := Movie{"喜剧之王", 2000, 10, []string{"xingye", "zhangbozhi"}}

   //编码的过程  结构体---> json
   jsonStr, err := json.Marshal(movie)
   if err != nil {
      fmt.Println("json marshal error", err)
      return
   }

   fmt.Printf("jsonStr = %s\n", jsonStr)

   //解码的过程 jsonstr ---> 结构体
   //jsonStr = {"title":"喜剧之王","year":2000,"rmb":10,"actors":["xingye","zhangbozhi"]}
   myMovie := Movie{}
   err = json.Unmarshal(jsonStr, &myMovie)
   if err != nil {
      fmt.Println("json unmarshal error ", err)
      return
   }

   fmt.Printf("%v\n", myMovie)
}
posted @ 2022-08-30 11:17  suehoo  阅读(83)  评论(0)    收藏  举报