Go语言json包与JSON处理
package main
import (
"encoding/json"
"fmt"
)
func main() {
// 定义一个结构体,用于序列化和反序列化
type Message struct {
Name string
Body string
Time int64
}
// 创建一个Message实例
m := Message{"Alice", "Hello", 1294706398881547000}
// 序列化:结构体转换为JSON字符串
jsonData, err := json.Marshal(m)
if err != nil {
fmt.Println("error:", err)
}
fmt.Println(string(jsonData))
// 反序列化:JSON字符串转换为结构体
var result Message
if err := json.Unmarshal(jsonData, &result); err != nil {
fmt.Println("error:", err)
}
fmt.Printf("%+v\n", result)
}
这段代码首先定义了一个结构体Message
,然后创建了该结构体的一个实例,并使用json.Marshal
函数将其序列化为JSON字符串。接着,它使用json.Unmarshal
函数将JSON字符串反序列化回结构体,并打印出结果。这个过程展示了如何在Go语言中处理JSON数据。
评论已关闭