SQLでJSONオブジェクトをマージする方法 (2023/11/25)

SQLでJSONオブジェクトをマージする方法 (2023/11/25)

https://talkapex.com/how-to-merge-json-objects-in-sql

投稿者:Martin Giffy D'Souza


APEX を使用する場合、特に REST API とやり取りするときに、JSON データ構造の処理は一般的なタスクです。アプリケーションでデフォルト構成を使用し、カスタマイズを許可する場合など、1 つの JSON オブジェクトを別のオブジェクトにマージまたはレイヤー化する必要がある場合があります。この機能は通常、optionsパラメータを使用して JavaScript 関数で実現されます。


json_mergepatch関数を使用すると、SQL でこれを簡単に実行できます。次の例では、JSON オブジェクトに変更を加え、項目を追加する方法を示しています。

select 
    json_mergepatch(
-- default value
'
{
    "foo": 123,
    "bar": {
        "firstName": "default",
        "lastName": "default"
    }
}
',
-- custom value
-- replace "lastName"
-- adds "middleName"
-- adds "language"
'
{
    "bar": {
        "lastName": "dsouza",
        "middleName": "giffy"
    },
    "language": "english"
}
'
-- If you your resulting JSON will be larger than 4000 then return a clob by uncommented below
-- returning clob
--
-- The "pretty" keyword is optional and just helps with display
pretty
) demo
from sys.dual;

結果の JSON オブジェクトは次のようになります。


{
    "foo": 123,
    "bar": {
        "firstName": "default",
        "lastName": "dsouza",
        "middleName": "giffy"
    },
    "language": "english"
}

コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

Oracle GoldenGate 23aiでMicrosoft Fabricでのオープン・ミラーリングがサポートされるようになりました (2024/11/19)

Oracle APEX 24.1の一般提供の発表 (2024/06/17)