天天看點

Go語言中json資料格式的解析

函數調用

jsonStu, err := json.Marshal(stu)
           

背景

Json(Javascript Object Nanotation)是一種資料交換格式,常用于前後端資料傳輸。任意一端将資料轉換成json 字元串,另一端再将該字元串解析成相應的資料結構,如string類型,strcut對象等。

函數作用

将資料編碼成json字元串格式

demo

package main

import (
	"encoding/json"
	"fmt"
)
// 結構體轉變為json資料

type Stu struct {
Name  string `json:"name"`
Age   int `json:"年齡"`
HIgh  bool
Sex   string
Class *Class `json:"班級"`
}

type Class struct {
Name  string
Grade int
}

func main() {
//執行個體化一個資料結構,用于生成json字元串
stu := Stu{
Name: "張三",
Age:  18,
HIgh: true,
Sex:  "男",
}

//指針變量 申請指針變量
cla := new(Class)
cla.Name = "1班"
cla.Grade = 3
stu.Class=cla

//Marshal失敗時err!=nil
jsonStu, err := json.Marshal(stu)
if err != nil {
fmt.Println("生成json字元串錯誤")
}

//jsonStu是[]byte類型,轉化成string類型便于檢視
fmt.Println(string(jsonStu))
}
           
  1. 其中轉化過程中預設key為變量名,如果後面有json标注,即為後面的部分。
  2. 注意轉化必須變量首字母必須大寫(可導出)