0

这是json输入:

{
    "myRootKey" {
        "directMove":"directValue",
        "marker":"THE_MARKER",
        "someTextField":"someString",
        "someObject":{
            "someKey":"value"
        }
    }
}

输出应该是:

{
    "myRootKey" {
        "subKey":{
            "directMove":"directValue",
        }
        "THE_MARKER": {
            "someTextField":"someString",
            "someObject":{
                "someKey":"value"
            }
        }
    }
}

直接移动很清楚,但是marker对象值的其余输入如何?

4

2 回答 2

0
  • @(1,marker)允许您检索标记字段的值
  • &1检索匹配节点的值

所以你正在寻找的规范看起来像:

[
  {
    "operation": "shift",
    "spec": {
      "myRootKey": {
        "directMove": "myRootKey.subKey.directValue",
        "someTextField": "&1.@(1,marker).someTextField",
        "someObject": "&1.@(1,marker).someObject"
      }
    }
  }
]
于 2016-09-02T12:34:42.150 回答
0

您匹配到“someTextField”和“someObject”,但使用新的“@”/查找树逻辑以找到“标记”以用作输出路径。

规格

[
  {
    "operation": "shift",
    "spec": {
      "myRootKey": {
        "directMove": "myRootKey.subKey.directValue",
        "someTextField": "@(1,marker).someTextField",
        "someObject": "@(1,marker).someObject"
      }
    }
  }
]
于 2016-03-18T18:31:48.167 回答