Ваша строка JSON в настоящее время является списком объектов PrescriptionInfo, а не объектом OrderSummary, который содержит список объектов PrescriptionInfo. Кроме того, некоторые поля (Администрирование) обрабатываются как строки, а не объекты. Для правильной работы JSON должен выглядеть следующим образом:
{"PrescriptionsInfo": [{"Name":"testName","Units":3,"Medium":"flower power","Administration":{"Instructions":"drIVnkLEm0b24OK9ceMeeF2fq","PackageType":"case"}},{"Name":"testName","Units":3,"Medium":"flower power","Administration":{"Instructions":"drIVnkLEm0b24OK9ceMeeF2fq","PackageType":"case"}}]}
Или в формате:
{
"PrescriptionsInfo":[
{
"Name":"testName",
"Units":3,
"Medium":"flower power",
"Administration":{
"Instructions":"drIVnkLEm0b24OK9ceMeeF2fq",
"PackageType":"case"
}
},
{
"Name":"testName",
"Units":3,
"Medium":"flower power",
"Administration":{
"Instructions":"drIVnkLEm0b24OK9ceMeeF2fq",
"PackageType":"case"
}
}
]
}
Для этого вам придется использовать псевдонимы. Проверьте это руководство MS
https://docs.microsoft.com/en-us/sql/relational-databases/json/format-nested-json-output-with-path-mode-sql-server?view=sql-server-2017
Я слаб с поддержкой JSON в SQL, может спросить с этими тегами, но похоже, что это было бы что-то похожее на это.
(SELECT _co.[Name],
JSON_VALUE(_co.[Pharmacy_Instructions], '$.Instructions') AS "Administration.Instructions",
JSON_VALUE(_co.[Pharmacy_Instructions], '$.PackageType') AS "Administration.PackageType"
FROM [dbo].[Compounds] _co
WHERE _co.[Id] = 1
FOR JSON PATH) AS [PrescriptionsInfo]