相关疑难解决方法(0)

Json.NET禁用DateTime上的反序列化

这是代码:

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

        JObject j1 = JObject.FromObject(new
        {
            time=s
        });

        Object o = j1["time"];
Run Code Online (Sandbox Code Playgroud)

我们可以检查o是否为字符串并等于"2012-08-08T01:54:45.3042880 + 00:00"

现在我们将j1.ToString()转移到另一个程序,即

       {
          "time": "2012-08-08T01:54:45.3042880+00:00"
       }
Run Code Online (Sandbox Code Playgroud)

然后在另一个程序中,尝试将其解析回JObject,即

       JObject j2 = JObject.Parse(j1.ToString());

       Object o2 = j2["time"];
Run Code Online (Sandbox Code Playgroud)

现在,如果我们检查o2,o2的类型是Date,o2.ToString()是8/7/2012 9:54:45 PM.

我的问题是:

有没有办法禁用JObject.Parse的日期反序列化,只是获取原始字符串?

提前致谢

c# datetime json.net deserialization

51
推荐指数
2
解决办法
1万
查看次数

带有时间戳字符串的 Json.NET (Newtonsoft) 解析器发生了什么?

static void Main(string[] args)
{
    string someJsonString = "{\"time\": \"2021-02-24T13:15:43Z\"}";
    JObject someJsonObject = JObject.Parse(someJsonString);          
    string time = someJsonObject.GetValue("time").Value<string>();
    Console.WriteLine(time);
    Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

[使用Newtonsoft.Json 12.0.3版]

为什么打印结果是02/24/2021 13:15:43而应该是2021-02-24T13 :15:43Z,我只需要该值作为字符串......发生了什么?

.net c# json json.net

3
推荐指数
1
解决办法
45
查看次数

标签 统计

c# ×2

json.net ×2

.net ×1

datetime ×1

deserialization ×1

json ×1