如何使用piqi定义从C ++通过Java读取JSON数据

时间:2013-01-10 22:37:22

标签: java c++ protocol-buffers thrift protostuff

我们使用第三方REST Web服务,该服务使用piqi架构定义其json API。我们当前的架构需要通过Java客户端读取这些数据并将其传输到c ++二进制文件。理想情况下,我希望生成所有POJO和c ++结构,以及数据转换(json-> java,java-> c ++)逻辑。我一直在调查protobuf,protostuff和thrift的不同组合,但是流程中仍然存在差距。有人有建议吗?

1 个答案:

答案 0 :(得分:0)

皮奇作者在这里。很可能第三方API提供程序使用piqi-rpc公开了基于HTTP API的JSON。假设您拥有服务的最新.piqi定义,您有可能获得输出和/或以协议缓冲区格式而不是JSON发送输入数据。在Java和C ++中处理Protobuf比使用JSON更容易,更可靠。

除非API提供程序明确禁用协议缓冲区作为输入/输出格式,否则您应该能够通过将Accept标头(和输入参数的Content-Type)设置为{{1}来使用此格式如here所述。我会尝试,看看它是否有效。如果没有,您可以要求提供商打开它。