Docly Child

JSONから配列への変換

1819 views

この記事ではConvertJSONToArrayアクションを使ってJSONデータを配列に変換する方法を紹介します。

※JSONについてはこちらで解説しています。

 「ConvertJSONToArray」JSONを配列に変換

例えば、広告アクションで取得してきたデータをスプレッドシートに書き込みたいとき、
アウトプットされたJSON形式のデータは、そのまま書き込みアクションで使うことができません。

JSON形式だと、データの値を「列 x 行」のテーブル形式で認識することができないためです。


こういった場面で、ConvertJSONToArrayアクションを使います。

データを純粋な配列形式に変換することで、ロボットがデータをテーブルとして認識できます。
これにより、書き込みアクションや、他にもConvertTable(テーブル操作)なども使えるようになります。

対応しているデータ形式はJSONですが、ワークフローのアウトプットとしては以下も指定が出来ます。
SalesforceQueryアクションのArrayアウトプット
・Anythingアウトプット(オブジェクトを含む場合)

読み込みの可否は、変換元のデータに {データ名 : 値} のオブジェクト記法データが含まれているかどうかでご判断ください。

 ワークフローの設定例

下記手順にてワークフローを設定します。
記事上では、ドキュメントに載っているサンプルを使って設定を試します。

ConvertJSONToArrayアクションでは、基本的にピッカーを使って設定を行う方が簡単です。
変換元データを読み込むためには、一度ワークフローを実行する必要があります。

※ワークフロー実行前

  • ConvertJSONToArrayをドラッグ&ドロップします。
  • 「JSON」に変換したいデータを指定します。
  • 「出力する配列のヘッダー」の{ }マークをクリックします。

  • ピッカーで、どのデータを何列目に置くか?を決めていきます。
    テーブルにした時に左に置きたいデータから順番に、データ名をクリックしていきます。

    選択したデータが配列の時、
    配列内のデータをテーブル上にどう展開するかについて、選択が可能です。

    以下の3パターンから選択します。

    • 行に展開(デフォルト)
    • 列に展開
    • 1セルにまとめて文字列として書き込む

「列に展開」「文字列にする」を選択したデータの名前(キーパス)は、詳細設定から確認・削除ができます。
また、ここに手動でキーパスを追加することも可能です。

ドキュメントのサンプルデータをRunScriptで返しています。 RunScript部分はお好きなアクションに変更してください。
# スクリプトを実行
+run_script_1:
  action>: RunScript
  code: "return [\n  {\n    data: [\n      {\n        name: \"プロモーションA\",\n        id: \"abcde\",\n        id_data: [\n          {\n            impressions: [10, 20, 30],\n            installs: 1,\n            date: \"2021-01-01\"\n          },\n          {\n            impressions: [40, 50, 60],\n            installs: 2,\n            date: \"2021-01-02\"\n          }\n        ]\n      },\n      {\n        name: \"プロモーションB\",\n        id: \"fghij\",\n        id_data: [\n          {\n            impressions: [100, 200, 300],\n            installs: 10,\n            date: \"2021-01-01\"\n          },\n          {\n            impressions: [150, 250, 350],\n            installs: 15,\n            date: \"2021-01-02\"\n          }\n        ]\n      }\n    ]\n  }\n];\n"

# JSONを配列に変換
+convert_j_s_o_n_to_array_1:
  action>: ConvertJSONToArray
  json: +run_script_1
  header: ["data.name","data.id_data.impressions"]
  unwind: ["data.id_data.impressions"]
  stringify: []
[参考記事]
<Saleseforce>セールスフォース 広告 ads convert json array

このページは役に立ちましたか?