2016-09-22 1 views
0
{ 
    "ID":1, 
    "KEY1":"", 
    "ARRAYKEY1":[ 
     { 
      "ARRAYKEY":"" 
      "OBJECTKEY":{ 
       "OBJ":"" 
      } 
     } 
    ] 
} 

上記は私がデータベースに保存したJSONオブジェクトで、OPENJSONを使用して表形式を作成したいと考えています。私はOPENJSON WITH()をすべて実行し、すべての列を手動で作成できることを知っています。テーブルの各キーを識別することなく、再帰的またはプログラム的にテーブルを作成する方法を知っている人がいるかどうかを知りたかったのです。私は数十のフィールドを持つことになるかもしれない。私はこれらのアイテムを除外することを心配していません。すべてのレコードを元に戻したいのであれば、新しい2016年のSQL Serverはどこから始めることができますか?JSONをテーブルに変換する

答えて

2

Hereは、公式のドキュメントです。

SET @json = 
N'[ 
     { "id" : 2,"info": { "name": "John", "surname": "Smith" }, "age": 25 }, 
     { "id" : 5,"info": { "name": "Jane", "surname": "Smith" }, "dob": "2005-11-04T12:00:00" } 
]' 

SELECT * 
FROM OPENJSON(@json) 
WITH (id int 'strict $.id', 
     firstName nvarchar(50) '$.info.name', lastName nvarchar(50) '$.info.surname', 
     age int, dateOfBirth datetime2 '$.dob') 
+0

私はそれの公式の文書について知っています。しかしそれは手動で各列を作成することです。私はどのように動的にそれを作成し、JSONオブジェクト全体をテーブルに変換するかというアイディアを誰かが持っているかどうかを調べたいと思っています。 – tjg92

関連する問題