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

将子数组中的对象移动到父数组

欧君之
2023-03-14

我在Jolt转换中有一个JSON对象数组的数组,但我需要将对象向上移动到顶层数组。我尝试添加另一个Shift,但这只是将对象移到相同的位置,或者将两个子对象的值放入一个值数组中。

[
  {
    "parent_id": 1,
    "passengers": [
      {
        "first_name": "John",
        "last_name": "Smith"
      },
      {
        "first_name": "Sarah",
        "last_name": "Jones"
      }
    ]
  },
  {
    "parent_id": 2,
    "passengers": [
      {
        "first_name": "Jess",
        "last_name": "Smith"
      },
      {
        "first_name": "Steve",
        "last_name": "Jones"
      }
    ]
  }
]
[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "passengers": {
          "*": {
            "@(2,parent_id)": "[&(3)].[&1].parent_id",
            "$": "[&(3)].[&1].cid",
            "first_name": "[&(3)].[&1].first_name",
            "last_name": "[&(3)].[&1].last_name"
          }
        }
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "*": {
          "pcid": "=concat(@(1,parent_id),'#',@(1,cid))"
        }
      }
    }
  }
]
[ [ {
  "parent_id" : 1,
  "cid" : "0",
  "first_name" : "John",
  "last_name" : "Smith",
  "pcid" : "1#0"
}, {
  "parent_id" : 1,
  "cid" : "1",
  "first_name" : "Sarah",
  "last_name" : "Jones",
  "pcid" : "1#1"
} ], [ {
  "parent_id" : 2,
  "cid" : "0",
  "first_name" : "Jess",
  "last_name" : "Smith",
  "pcid" : "2#0"
}, {
  "parent_id" : 2,
  "cid" : "1",
  "first_name" : "Steve",
  "last_name" : "Jones",
  "pcid" : "2#1"
} ] ]
[ {
  "parent_id" : 1,
  "cid" : "0",
  "first_name" : "John",
  "last_name" : "Smith",
  "pcid" : "1#0"
}, {
  "parent_id" : 1,
  "cid" : "1",
  "first_name" : "Sarah",
  "last_name" : "Jones",
  "pcid" : "1#1"
}, {
  "parent_id" : 2,
  "cid" : "0",
  "first_name" : "Jess",
  "last_name" : "Smith",
  "pcid" : "2#0"
}, {
  "parent_id" : 2,
  "cid" : "1",
  "first_name" : "Steve",
  "last_name" : "Jones",
  "pcid" : "2#1"
} ]

共有1个答案

施洛城
2023-03-14

当将这个shift操作添加到您的规范中时,它应该能起到作用:

json prettyprint-override">{
    "operation": "shift",
    "spec": {
      "*": {
        "*": "[]"
      }
    }
}

(添加到“修改-覆盖-测试版”操作之后)

 类似资料:
  • 假设我有以下内容 这会产生如下所示的数组 我可以做一个级别,但是多个杠杆怎么样?我的伪代码类似于 但是对于无限的势能级,我该怎么做呢?

  • 我正在尝试使用jolt将数组值作为字符串转换为对象。当我将数组值转换为String时,我无法在对象中获得正确的值。 输入Json: Jolt规格: 预期输出 : 实际产出: 请帮忙。提前谢谢。

  • 问题内容: 我正在使用Google GSON将Java对象转换为JSON。 目前,我具有以下结构: 当前,对象在对象内部。我想跳过对象并将对象移动到对象,如下所示: 如何使用GSON做到这一点? 编辑:我试图使用TypeAdapter来修改Step.class,但是在写入方法中,我无法将我的工时对象添加到JsonWriter中。 问题答案: 您可以通过编写代码,然后为注册一个自定义的序列化器,并确

  • 我正在尝试将我的对象[]数组映射并过滤到int[]数组。如果对象是int,效果很好,但如果不是int,则抛出强制转换异常。我想知道我是否可以在lambda表达式中附加一个try/catch?这是我的代码: 或者更好的方法是试着抓住整个街区?

  • 如何在打字稿中从数组中删除对象? 所以我想从所有对象中删除drug_id。我该如何实现呢?谢谢!

  • 问题内容: 我有: 我想将其转换为该对象: 在Python中,有一个简单的习惯用法。jQuery或纯Javascript中是否有类似的东西,还是我必须做很长一段路? 问题答案: 简单的JS函数将是: 当然,您实际上也可以实现zip等功能,因为JS支持更高阶的类型,这使这些函数语言主义变得容易:D