golang里的json marshal && unmarshal

Posted timer_go

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang里的json marshal && unmarshal相关的知识,希望对你有一定的参考价值。

package main

import (
	"encoding/json"
	"fmt"
)

type User struct {
	Name   string
	Age    int64
	Height float64
	Weight string  `json:"weight, default:helll"`
	Test   float64 `json:"test, omitempty"`
	Test2  float64 `json:"test2, default:10"`
	Test3  string  `json:"test3 default:sss"`
}

func main() {

	// Umarshal
	var str_json = []byte(`{"Name":"小花","Age":18,"Height":162}`)
	// json string--转-->struct
	var struct_user User
	err := json.Unmarshal(str_json, &struct_user)
	if err != nil {
		fmt.Printf("json.Unmarshal failed, err:%v
", err)
		return
	}

	fmt.Printf("struct_user:%#v
", struct_user)
	fmt.Printf("name:%#v
", struct_user.Name)


	stu := User{}
	stu.Name = "test2"
	str1, _ := json.Marshal(stu)

	fmt.Printf("json: %s", str1)
}

以上是关于golang里的json marshal && unmarshal的主要内容,如果未能解决你的问题,请参考以下文章

golang Marshal / Unmarshal将不同的JSON对象转换为Go结构

golang Marshal和Unmarshal处理json数据

Golang✔️走进 Go 语言✔️ 第二十二课 json & 文件读写

Golang✔️走进 Go 语言✔️ 第二十二课 json & 文件读写

golang json 编码解码

详解golang的json解析方法Marshal跟 Unmarshal(复杂的对象直接用神器生成对象)