Подтвердить что ты не робот

Как создать JSON.NET Date to String custom Converter

Может ли кто-нибудь сказать мне, как я могу создать собственный конвертер

Я знаю, что могу использовать JSON.NET ISODateConvertor, но то, что я хочу, является конкретным, я просто хочу отправить значение как строку "день/месяц/год" в ответ.

4b9b3361

Ответ 1

Что-то вроде этого?

string str = JsonConvert.SerializeObject(new DateTimeClass(), new MyDateTimeConvertor());

public class DateTimeClass
{
    public DateTime dt;
    public int dummy = 0;
}

public class MyDateTimeConvertor : DateTimeConverterBase
{
    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        return DateTime.Parse(reader.Value.ToString());
    }

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        writer.WriteValue( ((DateTime)value).ToString("dd/MM/yyyy") );
    }
}

Ответ 2

Если вы используете Web Api, добавьте пользовательский форматтер в конфигурацию, используя:

config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new MyDateTimeConvertor())