1suli0 Ответов: 1

Как удалить \, \r, \n из ответа JSON в веб-API .NET core 2


Присутствуют два HTTP-заголовка: Content-Type:application/json и Accept:application/json

Мой ответ выглядит примерно так:

"{\r\n  \"auth_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJKLkRvZSIsImp0aSI6IjM5MDQ4MjllLTVjZWYtNGU4ZC1iYjZhLTNmYzI1NmFmMGNkYSIsImlhdCI6MTU0MTY3NjYxNSwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiTWVtYmVyIiwibmJmIjoxNTQxNjc2NjE0LCJleHAiOjE1NDE2ODM4MTQsImlzcyI6IndlYkFwaSIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6NTYyNDkvIn0.m25YLVNdFhqOT2YsDzTADsPG1H2yoHMDDYvCOaqwl_8\",\r\n  \"expires_in\": 7200\r\n}"

Ответ запрашивается через приложение Postman.

Newtonsoft.Json используется для сериализации и форматирования
JsonConvert.SerializeObject(response, new JsonSerializerSettings { Formatting = Formatting.Indented });


Что я уже пробовал:

Я попробовал это сделать :
jwt = jwt.Replace("\"", "");


Но это решает только половину проблемы, она удаляет только \.

1 Ответов

Рейтинг:
2

F-ES Sitecore

Вероятно, в вашей строке нет никаких \r или \n, это новые коды строк, которые текстовый визуализатор в отладчике преобразует в "\r\n". Если вы не хотите новых строк в вашем json попробуйте использовать

Formatting.None


вместо

Formatting.Indented


1suli0

Да, я знаю об этом, но если используется отступ, то кажется, что \r и \n есть, независимо от того, какой вариант "отображения" (красивый, необработанный или предварительный просмотр) я выбираю в Postman. Довольно запутанно.

Ted Lowell

Вы когда-нибудь догадывались об этом? Я получаю точно такой же ответ в Postman. Если я использую .Отступ, он имеет "\r\n" и"\", и если я использую .Нет, у него есть только "\"... Но даже если я попытаюсь использовать Replace в json, он все равно вернет "\". Любая помощь будет оценена по достоинству.