Go语言学习——结构体与JSON
结构体与JSON
JSON 教程:https://www.runoob.com/json/json-tutorial.html
什么是 JSON ?
- JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
- JSON 是轻量级的文本数据交换格式
- JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
- JSON 具有自我描述性,更易理解
package main
import (
"encoding/json"
"fmt"
)
// 结构体与json
// 1. 序列化:把Go语言中的结构体变量 --> json格式的字符串
// 2. 反序列化:json格式的字符串 --> Go语言中能够识别的结构体变量
type person struct {
Name string `json:"name" db:"name" ini:"name"`
Age int `json:"age"`
}
func main() {
p1 := person{
Name: "紫霞",
Age: 12,
}
fmt.Println(p1)
// 序列化
b, err := json.Marshal(p1)
if err != nil {
fmt.Printf("Marshal failed, err:%v\n", err)
return
}
fmt.Printf("%#v\n", string(b)) // "{\"Name\":\"紫霞\",\"Age\":12}" 没有首字母大写 "{}" "{\"name\":\"紫霞\",\"age\":12}"
// 反序列化
str := `{"name":"理想", "age":18}`
var p2 person
json.Unmarshal([]byte(str), &p2) // 传指针是为了能在json.Unmarshal内部修改p2的值
fmt.Printf("%#v\n", p2) // main.person{Name:"理想", Age:18}
}
本文来自博客园,作者:寻月隐君,转载请注明原文链接:https://www.cnblogs.com/QiaoPengjun/p/16343138.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话