Go语言从入门到精通六——JSON操作及错误处理

本文介绍了JSON数据协议及其在Go语言中的应用,详细讲解了如何进行json序列化,包括结构体、map和slice的序列化。同时,文章探讨了错误处理,包括定义自定义错误、判断自定义错误以及使用Panic和Recover进行错误恢复。
摘要由CSDN通过智能技术生成

JSON

JSON数据协议

json是一种轻量化的格式(相比于xml),是当下流行的一种前后端交互的数据格式。其工作模式如下:
在这里插入图片描述

golang中的 json 操作

  • 导入包:import “encoding/json”
  • 序列化: json.Marshal(data interface{})
  • 反序列化: json.UnMarshal(data []byte, v interface{})

json序列化结构体

package main

import (
	"encoding/json"
	"fmt"
)

//把结构体都改小写
type User struct {
   
	UserName string `json:"user_name"` //json的tag标记
	Nickname string `json:"nickname"`
	Age      int
	Birthday string
	Sex      string
	Email    string
	Phone    string
}

func testStruct() {
   
	user1 := &User{
   
		UserName: "Leon",
		Nickname: "Lee",
		Age:      18,
		Birthday: "2009/8/8",
		Sex:      "男",
		Email:    "xxx@xx.com",
		Phone:    "XXXXXX",
	}

	//开始json序列化
	data, err := json.Marshal(user1)
	if err != nil {
   
		fmt.Printf("json.marshal failed,err:", err)
		return
	}
	fmt.Printf("%s\n", data)
}

func main() {
   
	testStruct(<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值