Я выполняю вызов REST API, а ответ JSON состоит из кодировки UTF8-8. Как я могу десериализовать в класс и иметь неизменную кодировку? Хотя этот код не дает сбоя, но я теряю кодировку.
var request = new RestRequest("some url", Method.GET);
request.AddHeader("Accept-Charset","utf-8");
request.AddHeader("Accept","*/*");
request.AddHeader("ContentType","application/x-www-form-urlencoded; charset=UTF-8");
request.AddHeader("Accept-Encoding", "gzip, deflate, br");
request.AddUrlSegment("FrameworkGUID", FrameworkGUID);
var response = Client.Execute<RootObject>(request);
var str = System.Text.Encoding.UTF8.GetString(Encoding.ASCII.GetBytes(response.Content));
return JsonConvert.DeserializeObject<RootObject>(str);
JSON-ответ:
{"fullStatement":"Extend polynomial identities to include factoring with complex numbers. For example, rewrite x\u00b2 + 4 as (x + 2i)(x \u2013 2i).","language":"en"}
Редактировать: Я неправильно отлаживал. Десериализация происходит нормально. На самом деле вам просто нужен этот код:
var request = new RestRequest("some url", Method.GET);
request.AddUrlSegment("FrameworkGUID", FrameworkGUID);
var response = Client.Execute<RootObject>(request);
return response.Data;