REST APIでの登録・更新エラー時のエラーメッセージの取り出し方について

こんばんは。

csv取込をして複数アプリをbulkrequestで同時更新する機能をつくろうと思い、
csvの内容に不正がない場合の正常取込についてはできております。

しかしcsvの内容・値が不正だった場合、bulkrequestの実行時に以下のようにtry~catchでエラーを捕まえてエラー内容をできるだけ詳しく表示させたいのですが…

try{
bulkrequest処理
}catch(error){
errorオブジェクトからエラー内容を取り出し、window.alert()等で表示させたい
}

errorオブジェクトがその時々で違っておりメッセージの抽出に苦戦しています。

JSON.stringify()でエラーオブジェクトの内容を見たところ、以下2つのパターンがある事がわかりました。


■パターン1
“results”:[{
“code”:“GAIA_LO04”,
“id”:“sunnX7FOpFbp1vLSwk67”,
“message”:“エラーの詳細が記載”
}]

■パターン2
“results”:[{
“code”:“CB_VA01”,
“id”:“ijXMQX1ER50qd5baBk33”,
“message”:“ざっくりとしたエラー内容(入力内容が不正です、的な)”,
“errors”:{
“record.フィールド名1.value”:{
“messages”:[“エラーの詳細が記載”]
},
“record.フィールド名2.value”:{
“messages”:[“エラーの詳細が記載”]
}
}
}]

パターン1はresultsの下にすぐエラーメッセージがありますが、
パターン2はさらに深い階層でないと詳細のエラー内容が分かりません。

このようにエラー内容によってメッセージ存在場所が異なる場合に、
うまくメッセージを取り出すにはどうすればよいのでしょうか?

if文ですべての条件に応じてメッセージを取り出す以外に
良い方法があれば…と思うのですが、自分では分からず投稿させて頂きました。

どうぞよろしくお願いします。

> if文ですべての条件に応じてメッセージを取り出す以外に

ソレ以外ないかとおもいます。そういう関数を一個用意して、取り出せるようにするほうが、他の方法を模索するよりはやいはずです。

村濱様

ご回答いただきありがとうございます!
地道にメッセージ取り出す方法でやってみますね。