Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menyahserialisasikan Tarikh dd/MM/yyyy dengan Json.Net dengan betul?

Bagaimanakah Saya Boleh Menyahserialisasikan Tarikh dd/MM/yyyy dengan Json.Net dengan betul?

DDD
Lepaskan: 2024-12-31 22:40:10
asal
959 orang telah melayarinya

How Can I Correctly Deserialize dd/MM/yyyy Dates with Json.Net?

Mengendalikan Tarikh dalam Format dd/MM/yyyy dengan Json.Net

Apabila menyahsiri data JSON yang mengandungi tarikh yang diformatkan sebagai dd/MM/yyyy, Json.Net mungkin secara tidak sengaja tafsirkannya dalam format MM/dd/yyyy. Ini boleh membawa kepada nilai tarikh yang salah dalam kelas C# anda.

Untuk membetulkannya, Json.Net menyediakan IsoDateTimeConverter. Dengan menentukan sifat DateTimeFormatnya, anda boleh mengarahkan Json.Net untuk menghuraikan tarikh dalam format yang dikehendaki. Berikut ialah contoh:

MyObject obj = JsonConvert.DeserializeObject<MyObject>(jsonString, 
                   new IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy" });
Salin selepas log masuk

Sebagai contoh, dengan konfigurasi ini, 09/12/2013 akan dinyahsiri dengan betul pada 9 Disember 2013, bukannya 12 September 2013.

Demonstrasi:

class Program
{
    static void Main(string[] args)
    {
        string json = @"{ ""Date"" : ""09/12/2013"" }";

        MyObject obj = JsonConvert.DeserializeObject<MyObject>(json, 
            new IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy" });

        DateTime date = obj.Date;
        Console.WriteLine("day = " + date.Day);
        Console.WriteLine("month = " + date.Month);
        Console.WriteLine("year = " + date.Year);
    }
}

class MyObject
{
    public DateTime Date { get; set; }
}
Salin selepas log masuk

Output:

day = 9
month = 12
year = 2013
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahserialisasikan Tarikh dd/MM/yyyy dengan Json.Net dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan