SQL server解多个json
时间: 2024-10-16 21:14:07 浏览: 21
SQL Server处理JSON数据通常通过内置的JSON函数来解析和操作。如果你需要从多个JSON字符串中提取信息,可以使用`OPENJSON()`函数逐个解析,然后组合结果。这是一个基本流程:
1. **解析单个JSON**:
```sql
SELECT *
FROM OPENJSON('[
{"name": "John", "age": 30},
{"name": "Jane", "age": 25}
]')
WITH (
name NVARCHAR(50) '$.name',
age INT '$.age'
);
```
2. **处理多个JSON数组**:
如果你有包含多个JSON数组的数据,可以使用`STRING_SPLIT`函数将字符串拆分为行,然后再分别解析:
```sql
DECLARE @jsonStrings VARCHAR(MAX) = '{"array1": [{"name": "A"}, {"name": "B"}], "array2": [{"name": "C"}, {"name": "D"}]}';
SELECT *
FROM STRING_SPLIT(@jsonStrings, ',') AS str
CROSS APPLY OPENJSON(str.value('.', 'nvarchar(max)'))
WITH (name NVARCHAR(50) '$.name');
```
这样会返回每个JSON数组中的所有名字。
阅读全文