ブロックリファレンス

BLOCKS Reference

基本

配列内のオブジェクト形式変換

概要

このブロックは、配列内の各要素のデータ変換ができます。変換前の配列内の各要素のデータ型は問いません(厳密には決まっている)が、変換後の各要素のデータ型は必ずオブジェクトになります。変換は、配列内の要素ごとに同じパターンの変換規則を使います(変換前後で要素数は変わらない)。

配列内のオブジェクト形式変換ブロックの動作概略図

以下に具体例を示します(例示は JSON 形式のオブジェクトの配列)。

  • 変換前:
    [
      {
        "first_name": "夏目",
        "last_name": "漱石",
        "book1": "吾輩は猫である",
        "book2": "坊っちゃん",
        "book3": "草枕"
      },
      {
        "first_name": "太宰",
        "last_name": "治",
        "book1": "富嶽百景",
        "book2": "走れメロス",
        "book3": "津軽"
      },
      {
        "first_name": "芥川",
        "last_name": "龍之介",
        "book1": "羅生門",
        "book2": "鼻",
        "book3": "戯作三昧"
      }
    ]
    
  • 変換後:
    [
      {
        "name": "夏目 漱石",
        "masterpiece": [
          "吾輩は猫である",
          "坊っちゃん",
          "草枕"
        ],
        "language": "日本語"
      },
      {
        "name": "太宰 治",
        "masterpiece": [
          "富嶽百景",
          "走れメロス",
          "津軽"
        ],
        "language": "日本語"
      },
      {
        "name": "芥川 龍之介",
        "masterpiece": [
          "羅生門",
          "鼻",
          "戯作三昧"
        ],
        "language": "日本語"
      }
    ]
    

先頭の配列の要素を例に、どのような変換が行われたのかを具体的に示します。

オブジェクトの形式変換図解

このように、このブロックを使うと、複数の値を一つにまとめたり、新しい値を追加したりできます。この例では示していませんが、値を削除(変換前の値を無視)することなどもできます。

このような変換を行うには、変換のオブジェクトの形式を変換規則として設定します。

この例の場合は、以下のとおりです。

変換規則の例

変換後のオブジェクト形式の「キーと値のペア」を「キー・値の型・値」で指定します。

値の型は、以下の 8 種類から選択します。

説明
String

文字列です。変換前のオブジェクトのキーを ${} で囲むことで、その変換前のオブジェクトキーの値が参照できます。先の例だと、${first_name}${last_name} で、変換前オブジェクトの first_name キーと last_name キーの値を参照しています。また、% 形式の文字列書式も使えます。

String(旧)

文字列です。ほぼ String と同様ですが、% 形式の文字列書式が使えません。

Integer

整数です。

Float

浮動小数点数です。

Boolean

真偽値です。truefalse を指定します。

Variable

変数です。

  • 変数が指定できます。変数に格納された値が参照されます。
  • 変換前配列の要素がオブジェクトの場合は、変換前配列のオブジェクトのキーが指定できます。オブジェクトのキー名と変数名が重複した場合は、オブジェクトのキーが優先されます。

    先の例だと、book1book2book3 で、変換前オブジェクトの book1キー・book2キー・book3キーの値を参照しています。

  • 特殊変数 _row を使うと、変換前配列の各要素が参照できます。

    変換前のデータとして、以下のような配列があったとします。

    [
      [10, 20, 30, "foo"],
      [11, 21, 31, "bar"],
      [12, 22, 33, "baz"]
    ]
    

    この場合、_row.0 で要素ごとの配列の先頭の値(101112)が参照できます。

  • 変数展開も使えます。
Object

オブジェクトです。

Array

配列です。

プロパティ

プロパティ名 説明
ブロック名 ブロックの名前を指定します。ブロックに表示されます。
変換前のオブジェクトの配列が格納された変数

変換前の配列形式のデータが格納された変数を指定します。

変換結果を格納する変数

変換結果を格納する変数を指定します。

変換規則

変換後のオブジェクトの形式を指定します。

ブロックメモ ブロックに対するコメントを指定します。