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

Bagaimana untuk Menentukan Format Tarikh Tersuai untuk Pensirian DateTime dalam Json.Net tanpa Tetapan Global?

Barbara Streisand
Barbara Streisandasal
2025-01-16 00:01:47614semak imbas

How to Specify Custom Date Formats for DateTime Serialization in Json.Net without Global Settings?

Format tarikh bersiri DateTime tersuai Json.Net

Soalan:

Apabila menggunakan siri Json.Net dalam API Web ASP.NET, bagaimana untuk menentukan format tarikh tersuai sambil mengelak daripada mengubah suai tetapan global untuk memenuhi keperluan aplikasi tertentu?

Jawapan:

Pendekatan yang disyorkan ialah menggunakan JsonConverter tersuai untuk pemformatan terpilih. Json.Net menyediakan IsoDateTimeConverter yang membenarkan pemformatan tersuai. Memandangkan format tidak boleh ditetapkan terus melalui sifat JsonConverter, anda boleh mencipta subkelas dan menentukan format yang dikehendaki dalam pembinanya. Penukar tersuai kemudiannya boleh digunakan pada sifat tertentu menggunakan sifat JsonConverter:

<code class="language-csharp">class CustomDateTimeConverter : IsoDateTimeConverter
{
    public CustomDateTimeConverter()
    {
        base.DateTimeFormat = "yyyy'-'MM'-'dd";
    }
}

class ReturnObjectA 
{
    [JsonConverter(typeof(CustomDateTimeConverter))]
    public DateTime ReturnDate { get; set; }
}</code>

Jika anda tidak memerlukan format masa, anda boleh terus menggunakan format tarikh lalai IsoDateTimeConverter:

<code class="language-csharp">[JsonConverter(typeof(IsoDateTimeConverter))]
public DateTime ReturnDate { get; set; }</code>

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

Kenyataan:
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