sql - 从 SQL Server 中的 Json 数组中获取 Json 值和 Json 字符串
问题描述
我有一个这样的 JSON 字符串:
{
"success": "true",
"data": [
{ "ID": 1, "name": "abc" },
{ "ID": 2, "name": "def" }
]
}
我需要如下输出:
ID | 姓名 | 字符串 |
---|---|---|
1 | 美国广播公司 | {“ID”:1,“名称”:“abc”} |
2 | 定义 | {“ID”:2,“名称”:“def”} |
我需要 SQL Server 中的查询
解决方案
这里唯一有趣的是初始路径OPENJSON
(因为我们只关心data
)和JsonString
反映原始 JSON 的属性,它需要路径和覆盖。
DECLARE @json NVARCHAR(MAX) = '{"success":"true","data":[{"ID":1,"name":"abc"},{"ID":2,"name":"def"}]}';
SELECT *
FROM OPENJSON(@json, '$.data')
WITH (ID INT, name VARCHAR(100), JsonString NVARCHAR(MAX) '$' AS JSON)
推荐阅读
- c# - 从 FileSystemWatcher 创建一个子窗口
- javascript - Javascript标签位置
- c++ - 从 __FILE__ 编译时修剪路径和扩展名
- excel - VBA Excel:如何在组合的 Max、Index、Right 语句中使用命名范围
- flutter - Flutter ListView 不显示项目
- google-sheets - Google表格条件格式等于MIN应用于多个单元格
- python - 阅读条形码 pytesseract python 下面的文本
- winapi - 有没有办法将 WinRT api 暴露给 lua/love2d?
- flutter - 未定义命名参数“child”。尝试将名称更正为现有命名参数的名称
- php - 代码对 XSS 敏感,如何使用不同的标签进行修复?