JSON対応の動機づけ
はじめに、何故 このタイミングで JSON 対応の機能を追加したか背景を見てみたいと思います。
この数年、開発される Web アプリケーションで JSON フォーマットのファイルが使用されているのを見かけることが多くなってきました。アプリケーションで使用するテキストファイルのフォーマットは、大昔だと (そして今も) CSV や TSV があり、15年ほど前から XML が広く使われるようになり、そして今は JSON が趨勢を誇っているように感じます。
例えば、Google トレンドで検索ワードのトレンドを見てみると、「XML」は徐々に下降トレンドを描き、一方の「JSON」は上昇トレンドを描いていることが確認できます。(もちろん、使用されている絶対数を表しているわけではないので、あくまでトレンドの 1つという意図です)
弊社が提供する Microsoft Azure も、今は JSON が標準といえる状況になっています。仮想マシンや仮想ネットワーク、ストレージに Web アプリケーションまで、各リソース・サービスは JSON で定義できます。例えば、Azure ポータルで仮想マシンを作成して、作成した仮想マシンのJSON フォーマットの定義を Azure Resource Explorer (Azure Resource Explorer は 2015年8月時点でプレビュー段階です) で確認することもできます。
さらに、マイクロソフト版ドキュメントデータベースである Azure DocumentDB は、JSON にフォーカスしたデータベースであり、JSONドキュメントを直接的に利用できます。その他にも Azure Data Factory や Azure Event Hubs など多くの Azure サービスが JSON フォーマットをサポートしています。
そのような JSON の利用状況を踏まえて、『SQL Server の入出力でも JSON フォーマットを利用できる』ようにお客様より以前からリクエストが上がっていました。SQL Server 2016 では、満を持して このリクエストに応えるために JSON フォーマットによる入出力に対応します。(現在提供している SQL Server 2016 CTP (Community Technology Preview) 2.3 で既に JSON 対応の主要なもの (FOR JSON ) は使用できますので、ぜひ CTP をダウンロードして使って頂けると幸いです。)