1

我的数据库中有一个简单的查询:

SELECT id, name FROM users FOR JSON AUTO, ROOT('users')

这将返回以下 JSON:

{
    "users": [
        {"id": "1", "name": "John"}
        {"id": "2", "name": "Mike"}
    ]
}

我希望获得以下格式的退货:

{
    "users": {
        "list": [
            {"id": "1", "name": "John"}
            {"id": "2", "name": "Mike"}
        ]
    }
}

我可以通过简单地更改查询在 SQL 级别上执行此操作吗?

4

1 回答 1

6

你可以试试这个:

桌子:

CREATE TABLE users (
   id varchar(1),
   [name] varchar(50)
)
INSERT INTO users
   (id, [name])
VALUES
   ('1', 'John'),
   ('2', 'Mike')

陈述:

SELECT users = (SELECT id, name FROM users FOR JSON AUTO, ROOT('list'))
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER

结果:

{"users":{"list":[{"id":"1","name":"John"},{"id":"2","name":"Mike"}]}}
于 2019-10-17T20:07:53.003 回答