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}
    }

Original: https://www.cnblogs.com/QiaoPengjun/p/16343138.html
Author: QIAOPENGJUN
Title: Go语言学习——结构体与JSON

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/596780/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球