Newtonsoft.json: JsonProperty.ItemConverterType Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ классС

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 22 Ρ„Π΅Π²Ρ€. 2013  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: JamesNK/Newtonsoft.Json

[TestFixture]
public class JsonPropertyItemConverterType
{
    public enum Thingy
    {
        Test
    }

    [JsonObject(MemberSerialization.OptIn)]
    public abstract class Base
    {
        [JsonProperty(PropertyName = "type", Required = Required.Always, Order = 0,
            ItemConverterType = typeof (StringEnumConverter))]
        public Thingy Type { get; internal set; }
    }

    public class Thing : Base
    {
        public Thing()
        {
            Type = Thingy.Test;
        }
    }

    [Test]
    public void ItShouldWork()
    {
        var json = JsonConvert.SerializeObject(new Thing());

        Assert.That(json, Is.EqualTo(@"{""type"":""Test""}"));
    }

    [Test]
    public void ItShouldWork2()
    {
        var json = JsonConvert.SerializeObject(new Thing(), new StringEnumConverter());

        Assert.That(json, Is.EqualTo(@"{""type"":""Test""}"));
    }
}

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ свойство ΠΎΡ‚ΠΆΠΈΠΌΠ°,

    [JsonConverter(typeof(StringEnumConverter))]

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ.

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

имя свойства Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π° Ρ‚ΠΈΠΏ ΠΊΡ€Ρ‹ΡˆΠΊΠΈ - Π½Π΅Ρ‚.

я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ свойство ΠΎΡ‚ΠΆΠΈΠΌΠ°,

    [JsonConverter(typeof(StringEnumConverter))]

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ.

Бпустя 6 Π»Π΅Ρ‚ докумСнтация всС Π΅Ρ‰Π΅ Π²Π²ΠΎΠ΄ΠΈΠ»Π° мСня Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ я ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠ» эту ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ