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
930 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!

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