gpt4 book ai didi

database - 树状数据结构的转换语言

转载 作者:行者123 更新时间:2023-12-05 07:47:16 25 4
gpt4 key购买 nike

我正在寻找一种适合描述树状应用程序数据迁移的语言。

我们有一个应用程序将其数据保存为“对象”树。如果你尝试将其表示为 JSON,你可以得到类似的东西:

{
"ROOT_OBJECT": {
"@parameter1": 42,
"@parameter2": "asdf",

"CHILD_OBJECT": {
"@parameter1": {
"@subparameter1": 1
},
"@parameter2": [ "one", "two" ],

"GRANDCHILD_OBJECT": {
"@parameter1": 42
}
}
}
}

数据的结构随时间演变。新的应用程序版本可能想要添加一些新参数、删除一些旧参数、将参数从一个对象移动到另一个对象、合并或拆分对象等。

这样的数据迁移可以用 Java 或 JavaScript 等命令式语言编写(现在或多或少是这样做的),但我们的目的是转向声明式语言。

目前我们正在开发一个使用 XSLT 的实现:它将树转换为 DOM 树,应用 XSL 转换,然后将结果转换回原始树格式。

我想知道是否有其他方法可以进行此类数据转换。理想情况下,候选语言已经有 Java 和 JavaScript 的实现,或者至少是 JavaScript。

最佳答案

TreeOps 可视化工具 ( https://github.com/treeops/treeops ) 转换树 (JSON/XML/CSV) 并生成 Java 代码,但尚不支持 JavaScript。如果后端有 Java,您可以在那里运行它。

TreeOps 定义了一组数据树转换以促进典型的数据操作:

  1. 过滤和删除不相关的数据
  2. 沿树重命名和移动节点
  3. 扁平化和去扁平化以在树格式和表格格式之间转换
  4. 在选定节点下使用正则表达式更改节点
  5. 可以保存转换并在以后再次应用。TreeOps 可以毫不费力地生成 Java 类,这些类将读取转换后的数据并将其表示为简单的 POJO(普通旧 java 对象)。

关于database - 树状数据结构的转换语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39974581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com