首页 > 解决方案 > 如何使用 Json 对象中的 Json Transformers 将 JsArray 移动到根?

问题描述

如何使用Json TransformersJsArray将 a移至根目录?想象一个像这样的 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到根目录;IE

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

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

发生服务器错误:当 JsPath 为空时,需要 JsObject

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

我找不到任何专门解决这个问题的东西,但我希望这对某人来说很容易。非常感谢

标签: jsonscalaplayframeworktransformer

解决方案


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

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

斯卡斯蒂


推荐阅读