Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyesuaikan Format Pensirian Tarikh dalam Json.Net tanpa Menjejaskan Tetapan Global?

Bagaimana untuk Menyesuaikan Format Pensirian Tarikh dalam Json.Net tanpa Menjejaskan Tetapan Global?

Susan Sarandon
Lepaskan: 2025-01-15 22:38:44
asal
864 orang telah melayarinya

How to Customize Date Serialization Format in Json.Net without Affecting Global Settings?

Penyesuaian format siri tarikh Json.Net

Dalam sesetengah senario pembangunan API, anda mungkin perlu menyesuaikan format siri tarikh data tertentu tanpa menjejaskan tetapan global. Satu cara yang cekap ialah menggunakan JsonConverter tersuai.

Seperti yang anda cadangkan, ini boleh dicapai dengan mencipta kelas tersuai yang mewarisi daripada kelas asas JsonConverter. Berikut ialah contoh:

<code class="language-csharp">public class CustomDateTimeConverter : JsonConverter
{
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        var date = (DateTime)value;
        writer.WriteValue(date.ToString("yyyy'-'MM'-'dd"));
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        throw new NotImplementedException(); // 此示例中未实现
    }

    public override bool CanConvert(Type objectType)
    {
        return objectType == typeof(DateTime);
    }
}</code>
Salin selepas log masuk

Penukar tersuai ini kemudiannya boleh digunakan pada sifat yang memerlukan format tarikh tertentu:

<code class="language-csharp">public class ReturnObjectA
{
    [JsonConverter(typeof(CustomDateTimeConverter))]
    public DateTime ReturnDate { get; set; }
}</code>
Salin selepas log masuk

Walau bagaimanapun, Json.Net juga menyediakan penyelesaian yang lebih mudah, iaitu menggunakan IsoDateTimeConverter terbina dalam. Penukar ini membolehkan anda menentukan format tarikh dalam pembinanya:

<code class="language-csharp">public class CustomDateTimeConverter : IsoDateTimeConverter
{
    public CustomDateTimeConverter()
    {
        DateTimeFormat = "yyyy'-'MM'-'dd";
    }
}</code>
Salin selepas log masuk

Anda boleh menyesuaikan penyirian tarikh tanpa mengubah suai tetapan global dengan mensubkelaskan IsoDateTimeConverter dan menggunakan sifat penukar tersuai dengan format yang anda inginkan.

Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Format Pensirian Tarikh dalam Json.Net tanpa Menjejaskan Tetapan Global?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan