Я написал свою первую службу REST API через мое ASP. Net 4.5.2 веб-приложение, которое принимает JSON данные (через POST) и возвращает JSON данные.
Когда я вызываю службу с помощью PowerShell, возвращаемое значение JSON точно соответствует требуемому, а использование $returnData | ConvertTo-Json
работает, как и ожидалось, позволяя получить доступ к объекту ...
{"result":"ok"}
Но когда я вызываю службу с помощью RestMan для Chrome результат выглядит как двойное кодирование ...
"{\"result\":\"ok\"}"
Я также проверил инструменты разработчика в Chrome, и на вкладке ответа показано это двойное значение -кодирование, несмотря на заголовок ответа, содержащий Content-Type: application/json; charset=utf-8
..., который говорит мне, что это не проблема с RestMan, но мое внутреннее чувство заключается в том, что это также не проблема с Chrome.
Я указал точку останова на последнем Return
в коде, и возвращаемая строка определенно верна ... она не закодирована дважды.
Я специально не устанавливаю тип содержимого. Net кажется, что делает это для меня, но я попытался установить его через HttpContext.Current.Response.ContentType
d это не имеет значения.
Что я делаю не так?!