序列化工具 - Thrift安装配置与使用

简介: 序列化工具 - Thrift安装配置与使用

一、 windows下安装Thrift



  • 新建文件夹保存下载好的exe,如D:\soft\thrift


image.png


  • 配置Path(注意是文件夹路径,不是exe路径)


image.png


path


  • 验证安装结果: thrift -version
    image.png

image.png


二、 编写平台/语言无关.thrift文件



  • common.thrift

// 命名空间
namespace java com.futao.thrift.model.gen
// 定义常量
const i32 MIN_AGE=0;
// 定义枚举
enum Gender{
 MALE=1,
 FAMALE=2;
}
  • person.thrift

// 命名空间
namespace java com.futao.thrift.model.gen
// 包含文件
include "common.thrift"
// 结构体
struct EducationInfo{
  1: string name;
  2: i16 age;
  3: double height;
  4: common.Gender gender;
  5: list<EducationInfo> educationList;
  6: map<string,string> friendInfoMap;
}


三、 生成语言相关的文件



thrift -r --gen <language> <Thrift filename>

  • -r 表示递归生成include包含的.thrift文件

    image.png


image.png

image.png
image.png

image.png




相关文章
hutool工具对象序列化和反序列化
hutool工具对象序列化和反序列化
hutool工具对象序列化和反序列化
|
6月前
|
存储 JSON 编解码
IM通讯协议专题学习(十):初识 Thrift 序列化协议
本文将带你一起初步认识Thrift的序列化协议,包括Binary协议、Compact协议(类似于Protobuf)、JSON协议,希望能为你的通信协议格式选型带来参考。
154 1
|
XML 存储 JSON
数据序列化工具 Protobuf 编码&避坑指南
我们现在所有的协议、配置、数据库的表达都是以 protobuf 来进行承载的,所以我想深入总结一下 protobuf 这个协议,以免踩坑。 先简单介绍一下 Protocol Buffers(protobuf),它是 Google 开发的一种数据序列化协议(与 XML、JSON 类似)。它具有很多优点,但也有一些需要注意的缺点: 优点: 效率高:Protobuf 以二进制格式存储数据,比如 XML 和 JSON 等文本格式更紧凑,也更快。序列化和反序列化的速度也很快。 跨语言支持:Protobuf 支持多种编程语言,包括 C++、Java、Python 等。 清晰的结构定义:使用 prot
|
Java 程序员
JavaIO编程(键盘输入,缓冲输入流、Scanner工具、序列化与反序列化)附带相关面试题
1.System类对io的支持,2.BufferReader缓冲输入流,3.Scanner输入流工具,4.对象序列化
87 0
|
JSON 数据格式 Python
django drf 案例--实现url编码和json和dict格式转化小工具(涉及定义模型类,序列化器,类视图,路由),接口测试
django drf 案例--实现url编码和json和dict格式转化小工具(涉及定义模型类,序列化器,类视图,路由),接口测试
|
存储 安全 NoSQL
Java高性能序列化工具Kryo序列化
Java高性能序列化工具Kryo序列化
306 0
Java高性能序列化工具Kryo序列化
|
NoSQL Java fastjson
SpringBoot下用Kyro作为Redis序列化工具
有时候我们需要将Java对象实例存入Redis,常用方法有两种: 1. 将对象序列化成字符串后存入Redis; 2. 将对象序列化成byte数组后存入Redis;有关这两种存储方式的性能对比,会在下一章通过实战验证,本章先来看一下如何将对象序列化成byte数组后存入Redis;
542 0
SpringBoot下用Kyro作为Redis序列化工具
|
JSON 开发框架 人工智能
Newtonsoft.Json C#Json序列化和反序列化工具的使用、类型方法大全
Newtonsoft.Json C#Json序列化和反序列化工具的使用、类型方法大全
672 0
Newtonsoft.Json C#Json序列化和反序列化工具的使用、类型方法大全
|
JSON Dart 数据格式
【Flutter】JSON 模型转换 ( JSON 序列化工具 | JSON 手动序列化 | 根据 JSON 编写 Dart 模型类 | 在线自动根据 JSON 转换 Dart 类 )(二)
【Flutter】JSON 模型转换 ( JSON 序列化工具 | JSON 手动序列化 | 根据 JSON 编写 Dart 模型类 | 在线自动根据 JSON 转换 Dart 类 )(二)
516 0
【Flutter】JSON 模型转换 ( JSON 序列化工具 | JSON 手动序列化 | 根据 JSON 编写 Dart 模型类 | 在线自动根据 JSON 转换 Dart 类 )(二)