Ошибка запроса JSON

Я пытаюсь использовать «Для JSON PATH» / «Для JSON AUTO» в своем запросе, чтобы увидеть результат, и получаю ошибку «Неправильный синтаксис рядом с JSON». Ниже мой код:

    SELECT TOP 5   
       recid As Id,  
       FirstName, LastName,  
       status As 'Info.status',  
       state As 'Info.state'  
   FROM dbo.Consumers
   FOR JSON PATH

Любая помощь будет оценена!

SELECT @@version
Lukasz Szozda 25.04.2018 17:18

Напишите это в SSMS и поделитесь тем, что возвращает: SELECT @@ VERSION. Если не указано SQL Server 2016 или более поздней версии, команда JSON никогда не будет работать.

dfundako 25.04.2018 17:18
FOR JSON поддерживается в SQL Server 2016+. Не 2014 (или ранее).
Larnu 25.04.2018 17:20

Спасибо. Я могу это проверить

Jiah 25.04.2018 17:21
Данные JSON в SQL Server для справки.
Larnu 25.04.2018 17:22
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
5
3 142
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

JSON в SQL Server поддерживается только в версиях 2016 и более поздних. Ваша установка - установка 2014 года, поэтому она не будет работать. Вы можете обновить свою установку до SQL Server 2016 или найти собственные решения / функции / процедуры JSON, написанные другими.

Для людей, которые твердо придерживаются SQL Server 2014 без / возможности не обновляться до следующей версии, нижеприведенное решение может использоваться для вывода значений выбора SQL в формат JSON. Это непростой метод, потому что они сначала преобразуют вывод в XML, а затем структурируют вывод в формат JSON. Что может быть болезненно, если у нас есть 100 полей для выбора из таблицы.

http://www.tothenew.com/blog/how-to-get-output-sql-server-as-a-json-string/

Таким образом, ответ будет заключаться в обновлении версии сервера SQl до 2016 года и выше, чтобы эта функция работала.

Другие вопросы по теме