Podczas gdy znalazłem wiele podejść do deserializacji konkretnych właściwości, zapobiegając ich serializacji, szukam przeciwnego zachowania.Serialize Property, ale nie Deserialize Property w Json.Net
Znalazłem mnóstwo pytań z prośbą odwrotność:
Making a property deserialize but not serialize with json.net
Can I instruct Json.NET to deserialize, but not serialize, specific properties?
JSON.Net - Use JsonIgnoreAttribute only on serialization (But not when deserialzing)
Jak mogę serializacji konkretnej nieruchomości, ale uniemożliwić deserializacji z powrotem do POCO? Czy istnieje atrybut, który można wykorzystać do dekoracji konkretnej nieruchomości?
Zasadniczo szukam odpowiednika metody ShouldSerialize * dla deserializacji.
Wiem, że mogę napisać niestandardowy konwerter, ale to wydaje się przesadą.
Edytuj:
Oto trochę więcej kontekstu. Powodem tego jest mój klasy wygląda następująco:
public class Address : IAddress
{
/// <summary>
/// Gets or sets the two character country code
/// </summary>
[JsonProperty("countryCode")]
[Required]
public string CountryCode { get; set; }
/// <summary>
/// Gets or sets the country code, and province or state code delimited by a vertical pipe: <c>US|MI</c>
/// </summary>
[JsonProperty("countryProvinceState")]
public string CountryProvinceState
{
get
{
return string.Format("{0}|{1}", this.CountryCode, this.ProvinceState);
}
set
{
if (!string.IsNullOrWhiteSpace(value) && value.Contains("|"))
{
string[] valueParts = value.Split('|');
if (valueParts.Length == 2)
{
this.CountryCode = valueParts[0];
this.ProvinceState = valueParts[1];
}
}
}
}
[JsonProperty("provinceState")]
[Required]
public string ProvinceState { get; set; }
}
muszę nieruchomości na wniosek CountryProvinceState
, ale nie chcę go z powrotem do deserializowania i wywołać logikę seter.
Jak chcesz zrobić non -standardowe rzeczy bez personalizacji? –
Chcę zmienić zachowanie bez konieczności pisania i rejestrowania niestandardowej klasy konwertera. Podobnie istnieje wiele opcji obsługi odwrotnej sytuacji (użycie atrybutów lub dodanie metod ShouldSerialize *) bez konieczności pisania niestandardowej klasy konwertera. –
Wygląda na to, że nie jestem jedyną osobą, która próbuje to zrobić, ponieważ właśnie znalazłem to pytanie od dzisiaj: http://stackoverflow.com/questions/31722033/json-net-webapi2-serialize-property-but-skip -during-deserialization –