首页后端开发GOgolang开发外包熟练之json相互转换(三)

golang开发外包熟练之json相互转换(三)

时间2023-10-27 19:16:03发布访客分类GO浏览1343
导读:struct convert jsonpackage main import ( "encoding/json" "fmt" func main( { // 2、初始化结构体 s := Student{ Id:...

struct convert json

package main

import (
	"encoding/json"
	"fmt"
)

func main() {

	// 2、初始化结构体
	s := Student{

		Id:      1,
		Name:    "zhangpeng",
		Address: "shenzhen",
		Age:     24,
	}

	//fmt.Printf("%T %#v", s, s)
	//s1, _ := json.Marshal(s)
	//fmt.Println(string(s1))
	//fmt.Println("从这里开始是内存地址", s1)

	// 3、讲结构体转化为json
	sByte, err := json.Marshal(s)
	if err != nil {

		fmt.Println("json.Marshal err,", err)
	}

	fmt.Println("这是json格式:", string(sByte))
	fmt.Println("byte类型数据:", sByte)
}


// 1、定义结构体
type Student struct {

	Id      int
	Name    string
	Address string
	Age     int
}


C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_struct_json_go.exe
这是json格式: {
"Id":1,"Name":"zhangpeng","Address":"shenzhen","Age":24}

byte类型数据: [123 34 73 100 34 58 49 44 34 78 97 109 101 34 58 34 122 104 97 110 1 50 52 125]

Process finished with the exit code 0

json convert struct

package main

import (
	"encoding/json"
	"fmt"
)

// 1、定义结构体
type Student2 struct {

	Id      int
	Name    string
	Address string
	Age     int
}


func main() {

	// 2、将json字符串转换成结构团体
	var jS = `{
"Id":1,"Name":"zhangpeng","Address":"shenzhen","Age":24}
    `

	// 初始化结构体
	var s Student2

	// 将string类型的数据转换为一个[]byte类型数据
	byteS := []byte(jS)

	// err := json.Unmarshal([]byte(jS), &
    s)
	err := json.Unmarshal(byteS, &
s)
	if err != nil {

		fmt.Printf("Unmarshal err%v\n", err)
	}

	fmt.Println(s.Id, s.Name, s.Address, s.Age)
	fmt.Println(s)
}




1 zhangpeng shenzhen 24
{
1 zhangpeng shenzhen 24}
    

Process finished with the exit code 0

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: golang开发外包熟练之json相互转换(三)
本文地址: https://pptw.com/jishu/513474.html
我的第一个Go程序 Docker学习路线13:部署容器

游客 回复需填写必要信息