【GO】JSON:结构体转json

简介: 【GO】JSON:结构体转json

在这一节我们将会介绍几个新的知识点


interface{}

init()

案例


在这里会发现我们的类型是打印出来了,但是没有值,这是怎么个回事

image.png

那我们在来看一下这个案例

发现这个时候就会把值打印出来了,并且是一个json

那么上边那个案例为什么没哟打印出来呢!

那是因为在结构体里边定义的属性如果是首写字母是小写的话就代表的是私有属性。只有改变为大写后,别的方法才可以读取到

image.png

package main
import (
  "encoding/json"
  "fmt"
)
type Person struct {
  Name string
  Age  int
  Like []string
}
func main() {
  person := Person{Name: "咔咔", Age: 24, Like: []string{"咔咔博客", "咔咔手赚网"}}
  bytes, e := json.Marshal(person)
  if e != nil {
    fmt.Println("结构体转json失败,错误err是", e)
  } else {
    jsonStr := string(bytes)
    fmt.Printf("type:%T,value:%v", jsonStr, jsonStr)
  }
}

interface 讲解

使用了interface{}代表可以使用任意类型

屏幕快照 2022-05-18 下午11.09.52.png

package main
import (
  "encoding/json"
  "fmt"
)
type Person struct {
  Name string
  Age  int
  Like []string
}
func init() {
  fmt.Printf("我是初始化函数")
}
func main() {
}
/**
结构体转json
*/
func main0() {
  person := Person{Name: "咔咔", Age: 24, Like: []string{"咔咔博客", "咔咔手赚网"}}
  bytes, e := json.Marshal(person)
  if e != nil {
    fmt.Println("结构体转json失败,错误err是", e)
  } else {
    jsonStr := string(bytes)
    fmt.Printf("type:%T,value:%v", jsonStr, jsonStr)
  }
}
/**
interface讲解
*/
func main1() {
  // 定义了interface 后边就可以跟任意类型了
  mMap := make(map[string]interface{})
  mMap["博客地址"] = "blog.fangkang.top"
  mMap["age"] = 21
  fmt.Println(mMap)
}
相关文章
|
6天前
|
Go
Go to Learn Go之结构体
Go to Learn Go之结构体
24 5
|
26天前
|
存储 Shell Go
Go语言结构体和元组全面解析
Go语言结构体和元组全面解析
|
1月前
|
JSON Go 数据格式
Golang语言结构体链式编程与JSON序列化
这篇文章是关于Go语言中结构体链式编程与JSON序列化的教程,详细介绍了JSON格式的基本概念、结构体的序列化与反序列化、结构体标签的使用以及如何实现链式编程。
24 4
|
8天前
|
存储 Go
Go: struct 结构体类型和指针【学习笔记记录】
本文是Go语言中struct结构体类型和指针的学习笔记,包括结构体的定义、成员访问、使用匿名字段,以及指针变量的声明使用、指针数组定义使用和函数传参修改值的方法。
|
2月前
|
JSON 人工智能 编译器
Go json 能否解码到一个 interface 类型的值
Go json 能否解码到一个 interface 类型的值
26 1
|
2月前
|
JSON Go 数据格式
Go - json.Unmarshal 遇到的小坑
Go - json.Unmarshal 遇到的小坑
46 9
|
2月前
|
存储 设计模式 安全
空结构体:Go 语言中的轻量级占位符
【8月更文挑战第31天】
30 0
|
2月前
|
JSON Go 数据格式
Go实现json字符串与各类struct相互转换
文章通过Go语言示例代码详细演示了如何实现JSON字符串与各类struct之间的相互转换,包括结构体对象生成JSON字符串和JSON字符串映射到struct对象的过程。
15 0
|
2月前
|
存储 Java Go
Go从入门到放弃之结构体(面向对象)
Go从入门到放弃之结构体(面向对象)
|
2月前
|
存储 Go
Go 内存分配:结构体中的优化技巧
Go 内存分配:结构体中的优化技巧
下一篇
无影云桌面