我JsonObject
在t
表中有一个列。我需要解析该JsonObject
数组中包含 JSON 值的列。
我的第一个解决方案是:
SELECT
JSON_VALUE(JsonObject, '$.Id') AS Id,
JSON_VALUE(JsonObject, '$.Provider') AS Provider,
JSON_VALUE(JsonObject, '$.Messages[0].Sender') AS Sender,
JSON_VALUE(JsonObject, '$.Messages[0].Text') AS Text
FROM
dbo.t
这只是显示提供者的第一条消息,但提供者有多个消息。如果我按以下方式查询,它没有提供任何“消息”数据
JSON_VALUE(JsonObject, '$.Messages.Sender') AS Sender,
JSON_VALUE(JsonObject, '$.Messages.Text') AS Text
消息数据如下:
{"Messages":[{"Sender":"John","Text":"xxxx"},{"Sender":"Peter","Text":"yyyy"}]}
如何在不同的行中显示每个“消息”数据以及“Id”和“Provider”?