我通过 REST API 接收的 JSON 格式具有我无法加载到 OPENJSON 中的动态节点。JSON 响应来自第三方,我无法更改它。请参阅下面的示例并注意日期被用作节点:
{
"Meta Data": {
"1. Information": "API JSON",
"2. TYPE": "JSON",
},
"TSD": {
"2019-08-13": {
"value1": "136.0500",
"value2": "137.7400"
},
"2019-08-12": {
"value1": "137.0700",
"value2": "137.8600"
},
"2019-08-09": {
"value1": "138.6100",
"value2": "139.3800"
}
}
}
如果我知道使用以下代码的确切日期,则可以获取特定节点:
SELECT [value1], [value2]
FROM OPENJSON(@json, '$."TSD"."2019-08-13"')
WITH (
[value1] numeric(20,10),
[value2] numeric(20,10),
)
然而这并没有帮助,因为我不会提前知道日期,并且使用这种方法一次只能选择一个日期节点。
如何在不事先知道节点名称的情况下引用这些动态日期?