業務で使用するExcel表で同じような列が何回も繰り返されるデータがあり
いったん正規化してみたのですが、列名が冗長なため、あまり見にくさが減りませんでした。
ネストを繰り返すと出力データに不要なエスケープ文字("\")がたくさん入ってしまい、あまり見やすくなりません。
JSON Buildツール は「本番環境用ツールではない」とマニュアルに記載があるので
自助努力で正規表現ツールで上記の現実の出力を理想形に変換しようとしていますが
ネストのレベルの判別で難航しております。
実はアプローチ自体が間違っており、JSON Buildを使わずに Formula Tool を使った方が良い気もしてきました。
なにか良いアプローチがあればご教示頂ければ助かります。
入力データ
実際のデータはSeqが5回くりかえされ、Colは8~10個(可変)あり、それぞれに長い文字列が入っています。😖
ワークフロー
理想形
現実の出力
{"Row1":"{\"Seq1\":\"{\\\"Col1\\\":\\\"101\\\",\\\"Col2\\\":\\\"abc\\\"}\",\"Seq2\":\"{\\\"Col1\\\":\\\"201\\\",\\\"Col2\\\":\\\"jkl\\\"}\"}","Row2":"{\"Seq1\":\"{\\\"Col1\\\":\\\"102\\\",\\\"Col2\\\":\\\"def\\\"}\",\"Seq2\":\"{\\\"Col1\\\":\\\"202\\\",\\\"Col2\\\":\\\"mno\\\"}\"}"}
解決済! 解決策の投稿を見る。
今回のように階層がそれほど深くなければ、フォーミュラと集計ツールを駆使するとシンプルかもしれません。
コンテナの最初のフォーミュラで、ColのValueが数字のときは、二重引用符をつけないようにしてあります。
これにより、JSON Parseで、数字データと認識してくれます。
なにか参考になればうれしいです!
標準的なJSONであればJSON作成ツールもしくはCReWマクロのJSONCreateツールが使えるかと思いますが、少し複雑になるともうお手上げ、というイメージがあります。ダウンロードツールで外部APIを使用する際にJSON形式で渡すことも多いですが、とにかくAPIに合わせないといけないので、フォーミュラとJSON作成ツール、集計ツールを「駆使」して合わせこんでいることがほとんどです・・・。
JSONめんどくさいんですよね・・・。
CReWマクロのJSON Createです。
JSONへ変換する万能なツールはない気がします。
@gawa さん @AkimasaKajitani さん
早速のご回答ありがとうございます!
実際のデータはネストが深いのですが、Formula ToolとSummary Toolで手作りも意外と簡単なので週明けにやってみたいと思います。
なお、お二人から頂いたJSONの出力をVS Codeにコピペしたところ、理想形に整形してくれました。💯