JOLT 变换嵌套对象通配符

问题描述

我正在使用 JOLT(https://github.com/bazaarvoice/jolt) 库进行 json 转换。 我想获得一个 product.version 字段并将其放置在转换后的输出中。但是 version 字段可以嵌套在一个对象中,并且嵌套的级别不固定。 例如:我有一个这样的来源,其中 product.version 嵌套在 Sections.subSection

    "product": {
      "family": "storage"
    },"sections": {
      "subSection": {
        "product": {
          "name": "XYZ","version": "0.1.0"
        }
      }
    }
  }

但我可能有另一种情况,它可以直接出现在 Sections 之下,就像这样

{
    "product": {
      "family": "storage"
    },"sections": {
      "product": {
        "name": "XYZ","version": "0.1.0"
      }
    }
  }

所以我的问题是我可以在 LHS 中使用像“**”这样的通配符运算符来查找版本字段并查找 product.version。像下面这样?

  "spec" : { "sections" : 
      { "**" : 
        { "product" : { "version" : "target.version" }}
       }
    }
} 

顺便说一下,当我在 jolt-demo.appspot 中测试时它不起作用

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)