Protocol Buffers和JSON相互转换
文章目录
- Protocol Buffers和JSON相互转换
- 下载安装protojson
- 创建protobuf消息
- 编译生成go文件
- 创建main.go文件
Protocol Buffers和JSON相互转换
下载安装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;
};
编译生成go文件
protoc --go_out=./blog ./blog/*.proto
创建main.go文件
package mainimport ("fmt""pro02/blog""google.golang.org/protobuf/encoding/protojson"
)func main() {article := &blog.Article{Aid: 1,Title: "protobuf for golang",Views: 100,}// message 转换成 jsonjsonString := protojson.Format(article.ProtoReflect().Interface())fmt.Printf("jsonString: %v\n", jsonString)// json 转换成 messagemessage := article.ProtoReflect().Interface()protojson.Unmarshal([]byte(jsonString), message)fmt.Printf("m: %v\n", message)
}
运行结果:
[Running] go run "e:\golang开发学习\protobuffer\src\pro02\main.go"
jsonString: {"aid": 1,"title": "protobuf for golang","views": 100
}
m: aid:1 title:"protobuf for golang" views:100[Done] exited with code=0 in 1.435 seconds
Protocol Buffers和JSON相互转换相关推荐
- JSON与Protocol Buffers的一些比较
转载来源:http://www.cnblogs.com/zhubo/archive/2011/07/06/JSON_And_ProtocolBuffers.html JSON与Protocol Buf ...
- 还在用JSON? Google Protocol Buffers 更快更小 (原理篇)
欢迎关注微信公众号「随手记技术团队」,查看更多随手记团队的技术文章.转载请注明出处 本文作者:丁同舟 原文链接:mp.weixin.qq.com/s/cyOHe1LS-- 背景 随手记客户端与服务端交 ...
- Protocol Buffers简明教程
随着微服务架构的流行,RPC框架渐渐地成为服务框架的一个重要部分.在很多RPC的设计中,都采用了高性能的编解码技术,Protocol Buffers就属于其中的佼佼者.Protocol Buffers ...
- 架构师之路 — 分布式系统 — Protocol Buffers 序列化协议
目录 文章目录 目录 Protocol Buffers 序列化协议 定义数据结构 序列化传输 Protocol Buffers 序列化协议 Protocol Buffers 是一种高性能的.语言无关的 ...
- 序列化--反序列化:Schema evolution in Avro, Protocol Buffers and Thrift
当想要数据, 比如对象或其他类型的, 存到文件或是通过网络传输, 需要面对的问题是序列化问题 对于序列化, 当然各个语言都提供相应的包, 比如, Java serialization, Ruby's ...
- Go 支持Protocol Buffers的配置
Go 支持Protocol Buffers的配置 安装 protoc (The protocol compiler)是由C++写的,支持的 C++.Java.Python.Objective-C.C# ...
- Protocol Buffers 在 iOS 中的使用
翻译自:Introduction to Protocol Buffers on iOS 对大多数的应用来说,后台服务.传输和存储数据都是个重要的模块.开发者在给一个 web service 写接口时, ...
- MessagePack, Protocol Buffers和Thrift序列化框架原理和比较说明
第1部分messagepack说明 1.1messagepack的消息编码说明 为什么messagepack比json序列化使用的字节流更少, 可通过图1-1.图1-2有个直观的感觉. 图1-1mes ...
- spring 项目中集成 Protocol Buffers 示例
http://blog.csdn.net/fangzhangsc2006/article/details/8687388 本文适用于了解spring框架,同时想在spring项目中使用Protocol ...
最新文章
- LAMP+Postfix+Dovecot+Postfixadmin搭建邮件管理系统(六)
- Knockout.js 学习 (六)-- 监控属性数组 applyBinding Observables
- idea下mapreduce的wordcount
- 简书自动上传工具出现多余空行的问题及解决方案
- 项目管理(2):管理过程二
- Redis07-对象结构体redisObject
- JavaScript中的内置对象(数组、Boolean、Number、字符串)和自定义对象
- hive concat_w实现将多行记录合并成一行
- python 判断 windows 隐藏文件/系统文件
- 台式计算机显示器的分辨率,台式电脑分辨率多少合适,测试电脑分辨率
- 江苏省徐州市谷歌高清卫星地图下载(百度网盘离线包下载)
- x265码率控制-VBV更新过程
- MD 的图片格式排版偏差的问题
- hash算法和常见的hash函数
- 猴子选大王(Java)
- 计算机备课组小结,计算机备课组工作总结
- 一个英语学渣是如何通过英语六级的
- ZLG 开源 GUI 引擎 AWTK 1.6 发布
- 平面设计师资格证怎么考
- 中国互联网移动互联网消费者分析