Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya Boleh Lumpuhkan Deserialisasi DateTime dalam Json.NET?

Bagaimanakah saya Boleh Lumpuhkan Deserialisasi DateTime dalam Json.NET?

Mary-Kate Olsen
Lepaskan: 2024-12-29 06:49:10
asal
784 orang telah melayarinya

How Can I Disable DateTime Deserialization in Json.NET?

Melumpuhkan DateTime Deserialisasi dalam Json.NET

Pertimbangkan senario berikut:


menggunakan Newtonsoft.Json;
menggunakan Newtonsoft.Json.Linq;

Program kelas
{

static void Main(string[] args)
{
    // Convert an object to a JObject, specifying DateParseHandling.None
    string s = "2012-08-08T01:54:45.3042880+00:00";
    JObject j1 = JObject.FromObject(new { time = s },
        new JsonSerializer { DateParseHandling = DateParseHandling.None });

    // Convert the JObject back to a string
    string j1String = j1.ToString();

    // Parse the string back into a JObject
    JObject j2 = JObject.Parse(j1String);

    // Check the type and value of the "time" property in j2
    object o2 = j2["time"];
    if (o2 is DateTime)
    {
        // Date deserialization was enabled: "time" is a DateTime
    }
    else
    {
        // Date deserialization was disabled: "time" is a raw string
    }
}
Salin selepas log masuk

}

Secara lalai, Json.NET akan deserialisasi tarikh dalam rentetan JSON ke objek DateTime. Walau bagaimanapun, dalam beberapa kes, anda mungkin mahu melumpuhkan tingkah laku ini dan sebaliknya mengekalkan rentetan tarikh mentah. Untuk mencapai ini, anda boleh menggunakan pilihan berikut:

  • JsonSerializer dengan DateParseHandling.None: Apabila menukar daripada objek kepada JObject, anda boleh menentukan JsonSerializer dengan DateParseHandling.None untuk melumpuhkan tarikh penyahserikatan.
  • JsonReader: Sebagai alternatif, apabila menghuraikan terus daripada rentetan, anda boleh mencipta JsonReader dan secara manual menetapkan sifat DateParseHandlingnya kepada Tiada sebelum menghantarnya ke JObject.Load.

Dengan melumpuhkan penyahserilangan tarikh, anda boleh mengekalkan format asal tarikh rentetan dalam data JSON anda.

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Lumpuhkan Deserialisasi DateTime dalam Json.NET?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan