它是一个高性能的 JSON 解析库,具有更快的解析速度和更低的内存消耗
go get github.com/bytedance/sonic
package main
import (
"fmt"
"github.com/bytedance/sonic"
)
type Person struct {
Name string
Age int
}
func main() {
// 定义一个结构体
person := Person{
Name: "Alice",
Age: 30,
}
// 序列化对象为 JSON 字符串
jsonData, err := sonic.Marshal(person)
if err != nil {
fmt.Println("Error marshalling JSON:", err)
return
}
fmt.Println("Serialized JSON data:", string(jsonData))
// 反序列化 JSON 字符串为对象
var newPerson Person
err = sonic.Unmarshal(jsonData, &newPerson)
if err != nil {
fmt.Println("Error unmarshalling JSON:", err)
return
}
// 打印反序列化后的结果
fmt.Println("Deserialized Person:")
fmt.Println("Name:", newPerson.Name)
fmt.Println("Age:", newPerson.Age)
}