【问题标题】:Parse Apache Thrift file解析 Apache Thrift 文件
【发布时间】:2015-04-28 20:23:52
【问题描述】:

我有一个巨大的 Apache thrift 文件,我需要根据我的应用程序解析和存储信息。

我可以手动完成,逐行阅读。

但它总是容易出错,什么不是。那么是否有一些 API 等可以用来快速有效地解析文件?

如果没有,还有其他建议吗?

【问题讨论】:

  • 周围有一些工具可以使用 Thrift IDL,例如 Finagle 等。到目前为止,我个人从未处理过任何这些问题,所以这里不能保证。另一种方法是使用 Thrift 编译器代码本身并为您计划执行的任何操作编写自定义生成器。对后者有更多了解可能有助于给出更集中的答案。 las,对于此类问题,SO 是错误的地方。您可以在邮件列表中询问,值得一试。
  • 感谢您的回复。下次我会记住你的建议。 :-)

标签: parsing thrift


【解决方案1】:

如果适合您的项目,Facebook 的 Swift 工具有一个用 Java 实现的 Thrift IDL 解析器:https://github.com/facebook/swift/tree/master/swift-idl-parser。如果您的应用程序是 .NET,如果您可以使用 IKVM.NET 翻译解析器 JAR,您可能仍然可以使用此库。如果您想开发自己的解析器,那里也有一个 ANTLR 语法。

另外,我注意到 thrift 主干现在有一个 JSON 生成器,它将 IDL 输出为 JSON 数据结构,它应该很容易用任何语言解析。您可能需要从源代码编译才能使用该生成器,但 Thrift 获取新功能的速度如此之快,如果您还没有这样做,您可能还想这样做。

【讨论】:

    【解决方案2】:

    thrift cli可以帮你,你可以从thrift文件生成json,然后解析json得到thrift文件的struct

    thrift --gen json example.thrift
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-03
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多