Я использую RestSharp для публикации простого объекта в веб-API.
Объект похож на ниже
public class Subscription
{
[JsonProperty("subscriber")]
public Subscribe subscribe { get; set; }
}
[JsonObject(MemberSerialization.OptIn)]
public class Subscribe
{
[JsonProperty("mailinglist_ids")]
public string[] mailinglist_ids { get; set; }
[JsonProperty("subscriber")]
public Subscriber subscriber { get; set; }
}
[JsonObject(MemberSerialization.OptIn)]
public class Subscriber
{
[JsonProperty("foreign_id")]
public string foreign_id { get; set; }
[JsonProperty("email")]
public string email { get; set; }
[JsonProperty("first_name")]
public string first_name { get; set; }
[JsonProperty("last_name")]
public string last_name { get; set; }
}
Код для публикации с использованием RestSharp:
var client = new RestClient(BaseUrl);
var request = new RestRequest(Method.POST);
request.Parameters.Clear();
request.RequestFormat = DataFormat.Json;
request.Resource = ressource;
request.AddHeader("Authorization", "Basic APITOKEN");
request.AddHeader("Content-Type", "application/json");
request.AddBody(subscription);
var response = client.Execute(request);
Я вижу, что объект подписки передается как параметр правильно, но значение экранируется, в результате чего Web Api возвращает ошибку 500.
Могу ли я предотвратить экранирование строк в C # или есть какой-либо другой способ размещения данных