在Elm应用程序中使用静态数据:解析JSON还是使用Elm值?
我即将开始开发一个Elm应用程序,它主要是关于显示数据集的。数据将准备在几个JSON文件中(包括文本的不同语言),由JSON模式指定。这个数据库不会消失,因为共享数据集还存在其他用例 我现在看到两个从Elm访问这些数据的选项 在运行时检索和解析JSON 使用或类似的方法,我可以从现有的模式生成数据类型和解析器。然后,在运行时,我加载应用程序需要的JSON并解析它 优势在Elm应用程序中使用静态数据:解析JSON还是使用Elm值?,json,jsonschema,elm,static-data,Json,Jsonschema,Elm,Static Data,我即将开始开发一个Elm应用程序,它主要是关于显示数据集的。数据将准备在几个JSON文件中(包括文本的不同语言),由JSON模式指定。这个数据库不会消失,因为共享数据集还存在其他用例 我现在看到两个从Elm访问这些数据的选项 在运行时检索和解析JSON 使用或类似的方法,我可以从现有的模式生成数据类型和解析器。然后,在运行时,我加载应用程序需要的JSON并解析它 优势 始终使用当前数据,无需额外工作 应用程序大小不会因数据而膨胀 缺点 JSON检索的运行时影响 JSON解析的运行时影响 数
- 始终使用当前数据,无需额外工作
- 应用程序大小不会因数据而膨胀
- JSON检索的运行时影响
- JSON解析的运行时影响
- 数据必须存储在模型中
- 直接访问数据,不影响运行时
- 数据不存储在模型中
- 数据更改时需要重新编译应用程序
- 应用程序是巨大的,因为所有数据都需要包括在内
- 我希望数据很少发生变化(在一开始的策展期之后)。重新编译和部署应用程序应该很简单;不会有需要注意的外部互动
- 该应用程序应该用于移动设置,因此保存网络请求和处理器负载是一件好事
- 我希望有一个离线使用的独立版本,所以拥有一个monolith可能会很有帮助
- 实际数据集不会太大;我估计最多几百KB,甚至包括所有语言
json模式到elm
和json到elm
的输出大致相似。它们都呈现包含类型、解码器和编码器的Elm源代码
主要区别在于它们的输入:
elm的json模式作为输入。当JSON变得比一个示例描述的更复杂时,这很有用,但它还需要为所有要建模的JSON编写一个模式文件
将示例json值作为输入。当JSON模型相对简单时,这非常有用json-to-elm
toString
并将结果写入文件- 如何集成工作流:
是一个灵丹妙药应用程序,而elm实际上不可编写脚本json模式到elm
的支持程度如何json模式对elm
json schema to elm
不接受该模式(没有多少有用的错误消息),而且它似乎根本不支持patternProperties
(可能还支持json模式的其他功能)