Microsoft SQL Server Estrazione di oggetti secondari JSON interni

Esempio

OPENJSON può estrarre frammenti di oggetti JSON all'interno del testo JSON. Nella definizione della colonna che fa riferimento all'oggetto secondario JSON, impostare il tipo nvarchar (max) e l'opzione AS JSON:

declare @json nvarchar(4000) = N'[
  {"Number":"SO43659","Date":"2011-05-31T00:00:00","info":{"customer":"MSFT","Price":59.99,"qty":1}},
  {"Number":"SO43661","Date":"2011-06-01T00:00:00","info":{"customer":"Nokia","Price":24.99,"qty":3}}
]'

SELECT    * 
FROM OPENJSON (@json)
    WITH (
          Number   varchar(200),
          Date     datetime,
          Info nvarchar(max) '$.info' AS JSON
  )

La colonna Info verrà mappata sull'oggetto "Info". I risultati saranno:

Numero Data Informazioni
SO43659 2011-05-31T00: 00: 00 { "Cliente": "MSFT", "Prezzo": 59,99, "qty": 1}
SO43661 2011-06-01T00: 00: 00 { "Cliente": "Nokia", "Prezzo": 24.99, "qty": 3}