Thrift转Json


发布于

|

分类

好久没写啥了。来水个短文。

公司主要在用Thrift。但有时候也需要提供HTTP服务。一般做法是起个Flask,然后转发一下请求。

这都没啥问题。最关键的问题是……我懒。

怎么说呢,一般来说从前面传来的参数比较少,我可以手动填值到Thrift的request里;但是返回值巨多,这时候再让我手动构造Json我就不乐意了。

好在ThriftPy2提供有一个函数,可以秒秒钟解决这个问题。下面是做法:

首先导入包

import thriftpy2.protocol.json as proto

然后正常构造请求和拿到返回值

rsp = client.DoSomething(req)

下面最关键的一步来了:直接把rsp转换成一个json

json_data = proto.struct_to_json(rsp)

嗯好了,尽情享用吧。


有人问啊,那逆向操作,就是拿到个完整的json,给转成Request或者Response,可以么?

额,暂时不会……学会了再来水文哈。


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注