このページの本文へ

FIXER cloud.config Tech Blog

Power Automateで改行を含むJSONデータがエラーになる場合の対処法

2022年02月15日 10時00分更新

文● 萩原 広揮/FIXER

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Power Automateで改行を含むJSONデータを扱う #PowerPlatformリレー」を再編集したものです。

 こんにちは、萩原です! 皆さんJSONは触っていますか? 今回はPower Automateで改行を含むJSONデータを扱う際のTipsを紹介します。

 Power AutomateでJSONを扱うとき、通常であればインプットとしてJSONを取り込み解析して次に繋げると思います。

 ですが、改行を含む文字列を値として持っている場合有効なJSONとして認識してくれません、困った。

 今回はこちらの解決法を書いていきます。

 早速やっていきましょう。

 まず、今回用意したJSONは以下の通りです。

 「チャーシューが」と「鉄のように固い」の間に改行が入っています。



{
        "company_id": "ramen_001",
        "company_name": "株式会社麺一鉄",
        "industory": "ラーメン屋",
        "remarks" : "チャーシューが
鉄のように固い"
}

 通常Power AutomateでJSONを扱う場合、 [作成]コネクタや[配列変数]コネクタを使用すると思います。

 しかし改行を含むJSONを扱う場合、有効なJSONとしてみなされません。

 そのため、[作成]コネクタや[配列変数]コネクタを使用すると下図のようにエラーを吐きます。

 当然のように、[JSONの解析]コネクタでもエラーを吐きます。

 だからといって改行をあきらめることはできません!

 なので改行を含むJSONを扱いたい場合、[変数を初期化する]コネクタを使用して 文字列変数としてJSONを入力します。

 今回の要点はこれだけです()

 実際に解析してみましょう!

 Power Automateではスキーマがしっかりしていれば文字列型のものでもJSONとして扱ってくれます。

 [JSONの解析]コネクタを使いコンテンツには先ほどの変数を入れます。

 スキーマの設定ですが、先ほどのデータをコピーして設定します。

ただし、改行が入っているとエラーになるので、string型になるように直しておきます。

 今回は空文字列にしました。

 実行してみると

 改行部分が\nに置き換わっていることが分かると思います。

 これで、改行を含むJSONを扱うことができました。

 ここからは蛇足ですが、実際にこのデータを扱うことを想定して変数に入れてみましょう。

 [変数を初期化する]コネクタに、先ほどのJSONのremarksを入れて実行してみます。

 このとき文字列型として指定しておけば、\nは勝手に改行に戻ります。

 JSONをDBに保存したり、中身をメールに差し込んだり複数行の文字列を持つJSONを扱う時には参考にしてみてください、ありがとうございました!

萩原 広揮/FIXER

M.Sc. 物理と数学と情報に興味があります

[転載元]
 Power Automateで改行を含むJSONデータを扱う #PowerPlatformリレー

カテゴリートップへ