【发布时间】:2020-05-15 16:00:26
【问题描述】:
我正在尝试使用从 Stackoverflow 获得的解决方案来调用 api 并以表格格式解析数据。但是,由于其结构方式,我在解析数据时发现了一个问题。
Declare @Object as Int;
DECLARE @hr int
Declare @json as table(Json_Table nvarchar(max))
Exec @hr=sp_OACreate 'MSXML2.ServerXMLHTTP.6.0', @Object OUT;`enter code here`
IF @hr <> 0 EXEC sp_OAGetErrorInfo @Object
Exec @hr=sp_OAMethod @Object, 'open', NULL, 'get',
'https://accaho.nanorep.co/api/report/v1/get.json?account=accaho&apikey=xxxxxxxxxxxxxxf&days=1&fields=source.time,source.kb_name,source.domain,content.query,content.resultFound,content.articleID,content.articleTitle,content.articleLabels,content.articleContext.Applications,translation.autoTranslated,translation.customersLanguage,translation.originalMessage,channel.rechanneled,channel.channelType,feedback.feedbackType,feedback.feedbackReason,feedback.feedbackText,count.resolved,count.interactions,count.feedback,count.feedbackPositive,count.feedbackNegative&kb=English', --Your Web Service Url (invoked)
'false'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @Object
Exec @hr=sp_OAMethod @Object, 'send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @Object
Exec @hr=sp_OAMethod @Object, 'responseText', @json OUTPUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @Object
INSERT into @json (Json_Table) exec sp_OAGetProperty @Object, 'responseText'
-- select the JSON string
select * from @json
SELECT * FROM OPENJSON((select * from @json), N'$.rows')
我有点卡在这里......我如何将这些数据解析为表格结构。请帮忙
【问题讨论】:
标签: json sql-server api parsing