JSONから配列への変換
2687 views
この記事ではConvertJSONToArrayアクションを使ってJSONデータを配列に変換する方法を紹介します。
※JSONについてはこちらで解説しています。
「ConvertJSONToArray」JSONを配列に変換
例えば、広告アクションで取得してきたデータをスプレッドシートに書き込みたいとき、
アウトプットされたJSON形式のデータは、そのまま書き込みアクションで使うことができません。
JSON形式だと、データの値を「列 x 行」のテーブル形式で認識することができないためです。
こういった場面で、ConvertJSONToArrayアクションを使います。
データを純粋な配列形式に変換することで、ロボットがデータをテーブルとして認識できます。
これにより、書き込みアクションや、他にもConvertTable(テーブル操作)なども使えるようになります。
対応しているデータ形式はJSONですが、ワークフローのアウトプットとしては以下も指定が出来ます。
・SalesforceQueryアクションのArrayアウトプット
・Anythingアウトプット(オブジェクトを含む場合)
読み込みの可否は、変換元のデータに {データ名 : 値} のオブジェクト記法データが含まれているかどうかでご判断ください。
ワークフローの設定例
下記手順にてワークフローを設定します。
記事上では、ドキュメントに載っているサンプルを使って設定を試します。
- 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
このページは役に立ちましたか?
サイトを見て解決しない場合はAUTOROにログインし、チャットよりお問い合わせください。