目录
下载安装protojson
go get google.golang.org/protobuf/encoding/protojson
创建protobuf消息
syntax = "proto3";
option go_package = "./;blog";
package blog;
message User{
int32 uid =1;
string uname = 2;
int32 age = 3;
}
message Article{
int32 aid = 1;
string title = 2;
int32 views = 3;
};
创建测试main.go
package main
import (
"fmt"
"pro01/blog"
"google.golang.org/protobuf/encoding/protojson"
)
func main() {
article := &blog.Article{
Aid: 1,
Title: "protobuf for golang",
Views: 100,
}
// Message to json
jsonString := protojson.Format(article.ProtoReflect().Interface())
fmt.Printf("jsonString: %v\n", jsonString)
// jsong to message
m := article.ProtoReflect().Interface()
protojson.Unmarshal([]byte(jsonString), m)
fmt.Printf("m: %v\n", m)
}