Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Melumpuhkan Penukaran Tarikh Semasa Penyahserialisasian dalam Json.NET?

Bagaimanakah Saya Boleh Melumpuhkan Penukaran Tarikh Semasa Penyahserialisasian dalam Json.NET?

Barbara Streisand
Lepaskan: 2025-01-05 07:10:40
asal
302 orang telah melayarinya

How Can I Disable Date Conversion During Deserialization in Json.NET?

Pengendalian Deserialisasi dalam Json.NET: Melumpuhkan Penukaran Tarikh

Dalam senario tertentu, adalah wajar untuk menghalang Json.NET daripada menukar secara automatik tarikh semasa penyahserikatan. Untuk mencapai matlamat ini, kami boleh menggunakan sifat DateParseHandling JsonSerializer.

Pertimbangkan kod berikut:

string s = "2012-08-08T01:54:45.3042880+00:00";

JObject j1 = JObject.FromObject(
    new
    {
        time = s
    },
    new JsonSerializer { DateParseHandling = DateParseHandling.None }
);
Salin selepas log masuk

Di sini, kami menyatakan bahawa tarikh tidak boleh dihuraikan dengan menetapkan sifat DateParseHandling kepada tiada. Akibatnya, pembolehubah o akan kekal sebagai rentetan yang mengandungi nilai tarikh asal.

Malangnya, kaedah JObject.Parse() tidak menawarkan cara langsung untuk mengawal penghuraian tarikh. Walau bagaimanapun, kami boleh memanfaatkan JsonReader asas untuk mencapai matlamat kami.

using (JsonReader reader = new JsonTextReader(new StringReader(j1.ToString())))
{
    reader.DateParseHandling = DateParseHandling.None;
    JObject o = JObject.Load(reader);
}
Salin selepas log masuk

Dalam kod ini, kami mencipta JsonReader dengan pilihan penghuraian tarikh yang diingini dan kemudian menggunakannya untuk menyahsiri rentetan JSON menjadi JObject. Pendekatan ini membolehkan kami menentukan gelagat penghuraian tersuai untuk tarikh, memastikan ia dianggap sebagai rentetan, bukan objek DateTime.

Walaupun gelagat lalai untuk menukar tarikh semasa penyahserilangan mungkin mudah dalam banyak kes, adalah penting untuk mengetahui bahawa Json.NET menyediakan pilihan untuk menyesuaikan tingkah laku ini untuk memenuhi keperluan khusus dalam aplikasi anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melumpuhkan Penukaran Tarikh Semasa Penyahserialisasian dalam Json.NET?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan