Почему SQL возвращает массив вместо объекта?

Я использую результат SQL Server 2016 JSON, но я не знаю, почему он преобразует все в массив, например, если я выполняю следующий запрос, он возвращает массив вместо объекта:

SELECT 1 AS One,2 AS Two,3 AS Three
FOR JSON PATH

Результат:

[{"One":1,"Two":2,"Three":3}]

Но я бы хотел вернуть

{"One":1,"Two":2,"Three":3}

Также я проверил этот запрос, но результат был тот же, снова массив:

SELECT TOP 1 1 AS One,2 AS Two,3 AS Three
FOR JSON PATH

1 ответ

Решение

Вам просто нужно WITHOUT_ARRAY_WRAPPER опция:

SELECT 1 AS One,2 AS Two,3 AS Three
FOR JSON PATH ,WITHOUT_ARRAY_WRAPPER; 
Другие вопросы по тегам