二重のエスケープ処理
完了お疲れ様です。
連携先のシステム仕様で、JSONの値の中に更にJSONがある構造になっています。普通のネスト構造ではなく、ダブルクォーテーションで囲まれた文字列の値の中にJSONが入っていますので、二重のエスケープ処理が要ります。
構造だけを再現しますとこのようになります。
{
"item": "book",
"category": "computer science",
"details": "{\"title\":\"Programming for Non-Engineer \",\"publisher\":\"Some Publisher\",\"issued\":\"2025-10-14\",\"author\":\"some one\",\"table_of_index":\"n/a\"}"
}
他のシステムから連携する場合ですと、JSON.stringifyなどで対応できますが、Kompira Alert Hubでも二重のエスケープ処理も対応して頂けると大変に助かります。
尚、現在は下処理をしてからKompiraにデータを渡しており、そのまま仕様変更で対応されても困りますので、ランブックの新しい'オペレーター'かバージョン2のアクションといった様に新機能として加えて頂けるとありがたいです。
-
お問い合わせありがとうございます。
ご要望内容の確認をさせていただきたいのですが、
例えば 連携先に下記を送信したい場合、{
"test": "{\"title\": \"Programming for Non-Engineer\"}"
}現状は'{"test": "{\\\"title\\\": \\\"Programming for Non-Engineer\\\"}"}'をAlertHubに送信しなくてはいけないので、それを解決するようなものをご要望されているという理解でよろしいでしょうか。
(例えば、'{"test": "{\"title\": \"Programming for Non-Engineer\"}"}'を送信すれば上記を連携先に送信できるように文字列を加工できるランブックの新オペレータ、等)以上、よろしくお願いします。
-
ご確認ありがとうございます。
説明が不足してて申し訳ありませんでした。改行などメタ文字を含む内容を連携先のシステムに送る需要があります。例えば以下の内容です。
Chapter 1 "壱"
Chapter 2 "弐"
Chapter 3 "参"現状では、Kompiraに送る前に、次の様に下処理(エスケープ処理)をしております。そして、それをそのままKompira内のフィールドに文字列として入れています。
\tChapter 1 \"壱\"\n\tChapter 2 \"弐\"\n\tChapter 3 \"参\"
そして、アクションが実行されるときには次の様にKompiraのエスケープ処理と合わせて、二重にエスケープ処理された上で送信されるようにしています。
{ "test": "{\"table_of_content\": \"\\tChapter 1 \\\"壱\\\"\\n\\tChapter 2 \\\"弐\\\"\n\tChapter 3 \\\"参\\\"\"}" }
社内データのものはそのように下処理してから対応できますが、社外システムから直接Kompiraに届けられるデータはJSON構造が崩れないようにメタ文字を含まないキーワードだけを抜き出して連携先のシステムに送信しており、後に足りないところを手動で補っております。
それで、結果的に二重にエスケープ処理ができるようになるための新オペレーター等ができれば大変に助かります。
ご検討を宜しくお願い致します。
※反映されていないようでしたので、再度送信しました。重複したら申し訳ありません。
サインインしてコメントを残してください。
コメント
4件のコメント