如何在 Json 对象中使用 Json Transformers 将 JsArray 移动到根?

How can I move a JsArray to the root with Json Transformers within a Json object?

如何使用 Json TransformersJsArray 移动到根目录?想象一个像这样的 Json 结构:

   {
     "key1" : "value1",
     "key2" : {
       "key21" : "catface",
       "key22" : true,
       "key23" : [
           {
              "key231": "alpha", 
              "key232": "beta", 
              "key232": "gamma"
           },
           ...
       ],
       "key24" : 234
    }

如果我想将 key21 移动到根目录,那么我会使用 - __.json.copyFrom((__ \ 'key2 \ 'key21).json.pick) 但如果我想将 key23 移动到根目录;即

   {
     "key23" : [
       {
          "key231": "alpha", 
          "key232": "beta", 
          "key232": "gamma"
       },
       ...
     ]
   }

__.json.copyFrom((__ \ 'key2 \ 'key23).json.pick) 导致错误:

A server errors occurred: when empty JsPath, expecting JsObject

然后我尝试 __.json.copyFrom((__ \ 'key2 \ 'key23).json.pick[JsArray])__.json.copyFrom[JsArray]((__ \ 'key2 \ 'key23).json.pick[JsArray]) - 但同样的错误

我找不到任何专门解决此问题的内容,但我希望这对某些人来说很简单。非常感谢

您选择的值需要根目录下的新密钥

(__ \ 'key23).json.copyFrom((__ \ 'key2 \ 'key23).json.pick)

Scastie