Dan*_*ber 1 sql-server json sql-server-json
我的数据库中有一个简单的查询:
SELECT id, name FROM users FOR JSON AUTO, ROOT('users')
Run Code Online (Sandbox Code Playgroud)
这将返回以下JSON:
{
"users": [
{"id": "1", "name": "John"}
{"id": "2", "name": "Mike"}
]
}
Run Code Online (Sandbox Code Playgroud)
我想使用以下格式返回:
{
"users": {
"list": [
{"id": "1", "name": "John"}
{"id": "2", "name": "Mike"}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我可以在SQL级别上通过简单地更改查询来做到这一点吗?
您可以尝试以下方法:
表:
CREATE TABLE users (
id varchar(1),
[name] varchar(50)
)
INSERT INTO users
(id, [name])
VALUES
('1', 'John'),
('2', 'Mike')
Run Code Online (Sandbox Code Playgroud)
声明:
SELECT users = (SELECT id, name FROM users FOR JSON AUTO, ROOT('list'))
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
Run Code Online (Sandbox Code Playgroud)
结果:
{"users":{"list":[{"id":"1","name":"John"},{"id":"2","name":"Mike"}]}}
Run Code Online (Sandbox Code Playgroud)