У меня есть рабочий процесс, который получает сгенерированный JSON из процедур хранения в SQL Server с использованием директивы for JSON
.Но после получения определенного текста в данных столбца возникает ошибка ExecuteXmlReader
в операции Read
.
Исключение
XmlException:'=' - неожиданный токен.Ожидаемый токен - «;».Строка 1, позиция 94
Который, если бы я управлял выводом, скорее всего, поместил бы его в раздел CDATA.
Данные, возвращаемые с SQL Server
JSON_F52E2B61-18A1-11d1-B105-00805F49916B
{"photoId":1000000007,"photoType":"image\/gif","photoUrl":"https:\/\/slack-imgs.com\/?c=1&url=https%3A%2F%2Fmedia0.giphy.com%2Fmedia%2F3o84U9arAYRM73AIvu%2Fgiphy-downsized.gif" }
Конечная строка JSON, которая должна быть возвращена Read
{
"photoId": 1000000007,
"photoType": "image/gif",
"photoUrl": "https://slack-imgs.com/?c=1&url=https%3A%2F%2Fmedia0.giphy.com%2Fmedia%2F3o84U9arAYRM73AIvu%2Fgiphy-downsized.gif",
"isActive": true
}
URL-адрес, сохраненный в таблице
https://slack-imgs.com/?c=1&url=https%3A%2F%2Fmedia0.giphy.com%2Fmedia%2F3o84U9arAYRM73AIvu%2Fgiphy-downsized.gif
В конечном итоге это изменение SQL Server 2016, но мне понадобится исправление раньше, чем то, что можно получить от Microsoft.Итак, есть ли способ обойти это с помощью кода SQL или C # .Net?
Как ни странно, когда вы щелкаете по значению столбца таблицы JSON в SSMS, выдает ту же ошибку.
![enter image description here](https://i.stack.imgur.com/iCtbZ.png)