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