Go更快的json库

它是一个高性能的 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)
}
posted @ 2024-04-02 16:56  朝阳1  阅读(41)  评论(0编辑  收藏  举报