我在使用 SQL Server 2017 解析一组 JSON 文档时遇到了一些麻烦。
我在文档中遇到了一个嵌套数组(下面的示例),它使用动态 ObjectId 即 123 作为对象键,而不是使用静态键,即类别,然后有一个单独的键:值来引用 ObjectId。
因此,如果不指定每个单独的对象 ID(有数千个),我就无法使用常规的 CROSS APPLY OPENJSON 语法将项目提取到表中?
有没有一种方法可以在不明确引用每个 ObjectId 的情况下做到这一点,理想情况下我想返回表中的所有产品项目,并且只有一个带有 categoryId 的字段。
"ProductItems": {
"123": [
{
"item": "13663"
}
]
"124": [
{
"value": "2336"
},
{
"value": "3667"
}
],
"453": [
{
"value": "8667"
},
{
"value": "1956"
}
]
}