JSON 来自 SQL 具有子级别的查询

JSON from SQL query with child level

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

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

这个 return 是以下 JSON:

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

我想要 return 格式如下:

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

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

你可以试试这个:

Table:

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"}]}}