FIXER cloud.config Tech Blog
Power Automateで改行を含むJSONデータがエラーになる場合の対処法
2022年02月15日 10時00分更新
本記事は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. 物理と数学と情報に興味があります