APIで取得した結果(body)をパースした後に、その一部を別のフィールドに保存することはできないのでしょうか?
APIで情報を取得⇒steps.xxx.bodyをJSONパース⇒パース結果からさらにJSONパースをしたいと思い、実行したところ、下記のようなイメージで、最後の部分のパースに失敗しました。
何か間違っているでしょうか?
<<イメージ>>
ランブックで実行
・APIの結果
{
"steps": {
"xxxxxxxx-2a68-4d4c-b5f1-e5413d130e71": {
:
"body": "{\"id\":236,\"type\":\"Critical Watchlist Hit\"}
:
・オペレータで
steps.xxxxxxxx-2a68-4d4c-b5f1-e5413d130e71.output.bodyをJSONパースしてexample_bodyに保存(成功)
・オペレータで、
example_body.typeをJSONパースしてexample_typeに保存(失敗)
エラーメッセージに「bad request: srcField example_body.type is not json format」と出ている。
-
ご質問ありがとうございます。
ご提示いただいたイメージですと、最初の JSON パースの結果 (example_body の中身) が { "id": 236, "type": "Critical Watchlist Hit" } となります。
(example_body の値は実行履歴のステップ詳細画面の出力値からご確認いただけます)
この場合 example_body.type で直接、文字列 Critical Watchlist Hit が取得できるため、追加の JSON パースは不要となります。
追加で JSON パースが必要になるケースは、例えば、Critical Watchlist Hit が " でさらに囲まれている場合となります。
これは example_body の結果が {"id":236,"type":"\"Critical Watchlist Hit\""}、body からですと {"body":"{\"id\":236,\"type\":\"\\\"Critical Watchlist Hit\\\"\"}"} が入力された場合となります。
以上、よろしくお願いいたします。
サインインしてコメントを残してください。
コメント
2件のコメント