【问题标题】:JSON Schema migration or cleanupJSON Schema 迁移或清理
【发布时间】:2018-03-26 11:52:48
【问题描述】:

我们遇到大量 JSON 对象遵循 JSON Schema 的情况。

我们遇到的问题是 JSON 架构正在不断开发中,因此会定期更改架构(添加/删除字段等),从而使所有 JSON 数据无效。

我们需要一个工具来根据架构的更改自动迁移数据,或者可以将其视为清理/更正任务 - 自动(无需任何手动处理)清理列并添加新列。

在这个领域是否有任何开源工具可以提供帮助,或者对建议的方法有任何建议?

例如,我研究了 https://github.com/bazaarvoice/jolthttps://stedolan.github.io/jq/,但他们没有考虑 JSON Schema。

【问题讨论】:

  • 您要求实现需要人工干预的自动化操作。如果您想自动执行此操作,您就不会太在意您的数据。另外,什么是“数据”?什么格式?什么数据库?您使用什么语言与数据交互?它是什么类型的数据?
  • 数据是递归json,但我认为它与问题并没有特别相关,只要将数据标准化为架构,我们很乐意丢失数据。
  • 如果你问我怎么从 A 到 B,我会给你步行路线,然后你告诉我你的车不走那条路。您提出的问题没有提供足够的背景信息让任何人有信心回答。
  • 您的问题与主题无关,因为您正在寻求图书馆推荐。请参阅stackoverflow.com/help/on-topic的第 4 点
  • 我认为这是一个非常明智的问题,尤其是对于数据以 JSON 形式静态存储而需要模式演变的情况。当人们继续烧烤 OP 时,我总是感到困惑,好像这是一个禁忌。您基本上追求的是 JSON 的 XSLT 等价物。您可能会考虑将您的 JSON 转换为您拥有 XSLT 的 XML,然后在转换后转换回 JSON。有很多工具可以作为来自stackoverflow.com/questions/1618038/xslt-equivalent-for-json 的证据

标签: json jsonschema


【解决方案1】:

我一直在寻找类似的东西,但是当我想到它时,很少有需要在常规关系数据库中迁移的情况:

  • 当您需要添加新列时 - 在这种情况下,您可以毫无问题地更改架构本身。
  • 当您需要重命名列或更改列类型时:在 json schema draft-7 中您可以受益于 anyOf
  • 当您更改整个数据建模时:在这种情况下,对于 json-schema,您可以使用版本控制,不同版本的不同模式。

【讨论】:

    猜你喜欢
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 2014-06-15
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    相关资源
    最近更新 更多