ホームページ >データベース >mysql チュートリアル >SQL 2016 で SQL Server のオブジェクト配列を JSON 値の配列に変換する方法

SQL 2016 で SQL Server のオブジェクト配列を JSON 値の配列に変換する方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-09 18:52:41374ブラウズ

How to Convert a SQL Server Array of Objects to an Array of JSON Values in SQL 2016?

SQL から JSON への変換: SQL 2016 でオブジェクトの配列を値の配列に変換します

SQL 2016 は SQL Server データを JSON に変換する機能を提供し、多くの可能性を広げます。ただし、オブジェクトの配列を扱う場合、必要な JSON 構造がデフォルトの変換結果と異なる場合があります。

具体的には、オブジェクトの配列を JSON に変換する場合、デフォルトの動作では、オブジェクトが独自の配列として親配列内に埋め込まれます。例:

<code class="language-sql">SELECT (SELECT item_id FROM #temp FOR JSON PATH,root('ids'))</code>

結果:

<code class="language-json">{
    "ids": [{
        "item_id": "1234"
    },
    {
        "item_id": "5678"
    },
    {
        "item_id": "7890"
    }]
}</code>

場合によっては、オブジェクトの配列を、ネストされた構造を使用せずに値の配列として表示する方が望ましい場合があります。

これを実現するには、中間 XML 変換を使用できます。

<code class="language-sql">SELECT  
JSON_QUERY('[' + STUFF(( SELECT ',' + '"' + item_id + '"' 
FROM #temp FOR XML PATH('')),1,1,'') + ']' ) ids  
FOR JSON PATH , WITHOUT_ARRAY_WRAPPER</code>

このステップでは、データをフラット化された XML 構造に変換します。その後、JSON_QUERY() パラメーターと WITHOUT_ARRAY_WRAPPER パラメーターを使用して JSON に変換できます。結果は、値を含む目的の配列です:

<code class="language-json">"ids": [
        "1234",
        "5678",
        "7890"
    ]</code>

以上がSQL 2016 で SQL Server のオブジェクト配列を JSON 値の配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。