Unset

オブジェクトのキーと値のペアを削除します。

入力

フィールド 定義 タイプ 必須

object

削除するキーと値のペアを含むオブジェクト。

オブジェクト

パス(path)

削除するキー。最上位レベルのキーの名前、サブキーへのドット区切りのパス、またはキー名のリストを指定できます。

テキスト

出力

フィールド 定義 タイプ

出力(output)

削除されたキーと値のペアを含む新しいオブジェクト。

オブジェクト

最上位レベルのキーを削除する

最上位レベルのキーと値のペアを削除するシンプルな例では、キー名をpathとして指定します。

入力

  • object

    {
        "foo": 1,
        "bar": 2
    }
  • パス(path)foo

出力

output

{
  "bar": 2
}

ドット区切りのパスを指定する

pathでは、サブオブジェクトを示すドットを使用して、サブオブジェクト内のキーを指定することもできます。

入力

  • object

    {
      "a": "one",
      "b": {
        "foo": 1,
        "bar": 2
      }
    }
  • パス(path)b.foo

出力

output

{
  "a": "one",
  "b": {
    "bar": 2
  }
}

インデックス番号を使用する

インデックス番号を使用して、オブジェクト内のリスト要素のパスを指定することもできます。リストの参照は、インデックス番号0から始まります。

fooキーにあるリストの7番目の要素のbarキーと値のペアを削除する場合、 pathはfoo.6.barになります。

次の例では、bakeryメニューの1つのオプションを削除します。pathでは、オブジェクト内のtoppingキーの2番目のリスト要素(インデックス番号1)を指定します。

入力

  • object

    {
      "type": "donut",
      "name": "Raised",
      "batters": {
        "batter": [
          {
            "id": "1001",
            "type": "Regular"
          }
        ]
      },
      "topping": [
        {
          "id": "5003",
          "type": "Chocolate"
        },
        {
          "id": "5004",
          "type": "Maple"
        }
      ]
    }
  • パス(path)topping.1

出力

output

{
  "type": "donut",
  "name": "Raised",
  "batters": {
    "batter": [
      {
        "id": "1001",
        "type": "Regular"
      }
    ]
  },
  "topping": [
    {
      "id": "5003",
      "type": "Chocolate"
    }
  ]
}

テキストのリストをパスとして使用する

ドット区切りパスは単純かつ強力ですが、キー名が数値である場合や、キー名にドットが含まれる場合は機能しない可能性があります。このような場合は、テキストのリストを使用することでパスを明示的に制御できます。リスト内の各項目は、数値やドットの解釈なしで1つのキーとして扱われます。

入力

  • object

    {
      "a": "one",
      "b.foo": {
        "7": "bar",
        "8": "baz"
      }
    }
  • path:ドロップダウンメニューを使用してpathをテキストのリストとして設定します。

    • 最初のエントリー:b.foo

    • 2番目のエントリー:7

出力

output

{
  "a": "one",
  "b.foo": {
    "8": "baz"
  }
}