Open Json返回null的问题

时间:2019-06-17 15:24:53

标签: json sql-server-2016

我有一个这样的JSON结构:

.order(by: '__name__')

我正在使用SQL Server 2016,这是我的查询:

{
"Assessment": {
    "AssessmentContext": {
        "ReportID": "1021060",
        "ReportName": "John Smith",
    },
}

运行此查询时,两列的值都为NULL。我在做什么错了?

更新:

我正在编辑问题,因为我无法将文本格式设置为注释中的代码。如何调整我的SQL以显示报告ID,报告名称,项目名称,值。

SELECT Data.ReportID,Data.ReportName
FROM TableName DT
CROSS APPLY 
OPENJSON(DT.TX_TEXT) WITH (
ReportID INT '$.ReportID',
ReportName VARCHAR(100) '$.ReportName'
    ) AS Data

1 个答案:

答案 0 :(得分:1)

您可以通过路径:

SELECT Data.ReportID,Data.ReportName
FROM TableName DT
CROSS APPLY 
OPENJSON(DT.TX_TEXT, '$.Assessment.AssessmentContext') -- here
WITH ( ReportID INT '$.ReportID',
       ReportName VARCHAR(100) '$.ReportName') AS Data

db<>fiddle demo