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
Barbara Streisandasal
2025-01-05 07:10:40246semak imbas

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 }
);

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);
}

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