用OPENJSON解析

问题描述

我试图从GET调用中获取响应,并通过OPENJSON将其加载到SQL Server中,但是我在解析响应时遇到了麻烦。

DECLARE @json NVARCHAR(MAX);
SET @json = N'{
  "LookupServiceType": "GetAssetValues","Items": [
    {
      "id": "19676","value": "{\"AssetCode\":\"TDAACC\",\"Symbol\":null,\"Issue\":\"ACCOUNT #49\",\"Issuer\":\"TD AMERITRADE\"}"
    },{
      "id": "19677","value": "{\"AssetCode\":\"RE100\",\"Issue\":\"APN: 057\",\"Issuer\":\"SAN ANTONIO TX 78212\"}"
    },{
      "id": "19908","value": "{\"AssetCode\":\"NALIPO\",\"Issue\":\"POLICY # L0472\",\"Issuer\":\"NATIONWIDE LIFE\"}"
    }
  ]
}';

我尝试了许多变体,但我做对了。这是我尝试过的几件事。任何建议将不胜感激。

SELECT *
FROM OPENJSON(@json,'$.Items')  
  WITH (
    Items int '$.id',value NVARCHAR(MAX) '$.value',AssetCode NVARCHAR(50) '$.value.AssetCode',Symbol NVARCHAR(50) '$.value.Symbol',Issue NVARCHAR(50) '$.value.Issue',Issuer NVARCHAR(50) '$.value.Issuer'
  );
SELECT id,AssetCode,Symbol,Issue,Issuer
FROM OPENJSON(@json)  
  WITH (
    Items NVARCHAR(MAX) '$.Items' AS JSON
  )
OUTER APPLY OPENJSON(Items)
  WITH (
  id INT 'strict $.id',value NVARCHAR(MAX) '$.value' AS JSON
  )
  OUTER APPLY OPENJSON(value)
  WITH (
  AssetCode NVARCHAR(50) '$.AssetCode',Symbol NVARCHAR(50) '$.Symbol',Issue NVARCHAR(50) '$.Issue',Issuer NVARCHAR(50) '$.Issuer'
  );

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)