【问题标题】:JSON to Scala code generationJSON 到 Scala 代码生成
【发布时间】:2017-06-19 14:11:43
【问题描述】:

我有一个 JSON,它是另一个应用程序的输出,我想从这个 JSON 制作动态 Scala 代码(*.scala 文件)(不能预先定义类/bean,因为 JSON 结构取决于许多其他参数)。有没有可用的 API?

【问题讨论】:

  • 如果类在编译时没有定义,你打算如何在你的其他(非生成)代码中使用它?您能否举例说明您将如何使用此类工具?
  • 有一些方法可以使用类加载器加载这个新生成的类并实例化。我试图通过阅读 JSON 来管理创建案例类,但想知道是否有任何 API 已经这样做了。你也可以查看json2caseclass.cleverapps.io
  • 我明白了,你可以如何加载它们并实例化。但是您将如何使用这些实例?您提供的链接是 static 生成 - 您给它示例 json,它生成案例类,然后您使用静态代码编译它们。如果我正确理解你的问题,那根本不是你在说的。
  • 我不使用那个链接,我给你理解案例类生成。我将生成的类(来自 JSON)视为字符串,然后使用类加载器加载。希望这是有道理的。
  • 类生成我明白了,非常感谢。我不明白想用它做什么,因为你问的似乎没有任何意义。您使用类加载器加载它... 然后是什么val loadedInstance: AnyRef = generateAndLoad(json) ...现在呢?你将如何使用这个变量?

标签: json scala scala-2.10 scalac


【解决方案1】:

【讨论】:

  • 看起来像一个 Web 应用程序。我想要一个与我现有的 Scala 代码兼容的 API。
  • json2caseclass.cleverapps.io 没有回答这个具体问题,但它是一个不错的工具!
【解决方案2】:

请看这个:https://github.com/julianpeeters/case-class-generator

允许运行时数据作为 Scala 案例类定义:

在运行时定义和加载的案例类 通过类型别名的伪类型提供者

还有这个: 也许这个更好,你需要先生成一些代码,然后调用它。

http://yefremov.net/blog/scala-code-generation/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 2023-03-19
    • 2012-12-21
    • 2011-11-05
    相关资源
    最近更新 更多