ホームページ >データベース >mysql チュートリアル >SQL 2016 で SQL Server のオブジェクト配列を JSON 値の配列に変換する方法
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 サイトの他の関連記事を参照してください。