当前位置: 首页 > 知识库问答 >
问题:

颠簸转换 JSON 规范

黄正浩
2023-03-14

我需要在输入JSON下面转换为输出JSON,但不确定如何编写规范。需要将一个字段(“主页”)重新定位为根元素。任何帮助或建议都将不胜感激。

输入JSON:

[{
    "uuid": "cac40601-ffc9-4fd0-c5a1-772ac65f0587",
    "pageId": 123456,    
    "page": {
      "indexable": true,
      "rootLevel": false,
      "homePage": false      
    }
}]

输出JSON:

[{
    "uuid": "cac40601-ffc9-4fd0-c5a1-772ac65f0587",
    "pageId": 123456,
    "homePage": false,  
    "page": {
      "indexable": true,
      "rootLevel": false           
    }
}]

共有1个答案

长孙弘盛
2023-03-14

这个Jolt Spec应该对你有用。用https://jolt-demo.appspot.com/测试过

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "uuid": "[&1].uuid",
        "pageId": "[&1].pageId",
        "page": {
          "indexable": "[&2].page.indexable",
          "rootLevel": "[&2].page.rootLevel",
          "homePage": "[&2].homePage"
        }
      }
    }
  }
]

输入:

{
  "uuid" : "cac40601-ffc9-4fd0-c5a1-772ac65f0587",
  "pageId" : 123456,
  "page" : {
    "indexable" : true,
    "rootLevel" : false
  },
  "homePage" : false
}

输出:

[ {
  "uuid" : "cac40601-ffc9-4fd0-c5a1-772ac65f0587",
  "pageId" : 123456,
  "page" : {
    "indexable" : true,
    "rootLevel" : false
  },
  "homePage" : false
} ]

解释:

来自 javadoc

<代码>

当Shiftr处理数据并遵循规范时,它会维护一个描述其走过的路径的数据结构。<代码>

{
   "foo" : {
       "bar": {
         "baz":  // &0 = baz, &1 = bar, &2 = foo
      }
   }
}

接下来:如何将输出对象包装到数组中?在这篇文章中可以找到一个很好的例子。

所以,在我们的例子中:

  • <代码>“[

uuid值放入数组内的对象中。数组的索引由<code>指示

  • 接下来,<code>[
 类似资料:
  • 我正在尝试对输入的 JSON 列表进行 JOLT 移位转换 在我的输入下方: 我想创建这个输出: 我对JOLT转换没有做太多工作,在这种情况下需要帮助。

  • 我需要Jolt转换的帮助。我有数组,由许多json对象组成。(https://jolt-demo.appspot.com/) Jolt需要进行哪些转换才能获得以下结果? 现在我有了下一个Jolt构造: 但以下结果不正确:

  • 我正在尝试为下面的输入编写一个震动转换 - 预期产量为- 我的规格是- 规范没有按照预期的输出进行转换。我想学习如何在字符串解析器中使用属性。

  • 我有这个JSON作为输入: 我需要得到这样的输出: 我需要使用哪种规格? 多谢!

  • 我正在尝试转换以下JSON 用JOLT转换成更简单的东西: 我尝试了很多颠簸的代码,但我不知道如何完成最后一部分。我写了一些颠簸的转变: 但是我不知道如何做最后一部分来旋转name列。name列的值应该基于NAV值旋转。

  • 我正在努力使用Jolt进行转换。 输入: 谢谢