使用Newtonsoft JSON.net解析包含ISO 8601的JSON日期

时间:2018-10-11 05:32:44

标签: c# json date json.net

我正在编写一个应解析任何JSON字符串并将其作为解析树类型对象返回的库。

我们正在使用Newtonsoft JSON.Net,我认为JToken.Parse正是我所需要的。

但是,该方法将所有包含ISO 8601日期的字符串更改为日期时间对象,而不将其保留为字符串。更糟糕的是,它似乎会丢弃信息。

示例: 值为"2018-12-13T03:04:05+03:00"的节点更改为以下日期时间:"2018-12-13T01:04:05+01:00"

如您所见,它将+03时区信息更改为+01时区(我当前的时区),并相应地调整了时间。

不幸的是,我需要知道时间戳来自哪个时区(此处为+3)以及该时区的本地时间。这些信息丢失了,据我所知,我只有时间在我的时区。

我一直在研究使用反序列化,显然我可以在其中指定我不希望进行任何日期转换,但是当我不知道接收到的JSON的结构时该怎么做?

关于如何保留所有时间戳信息的建议,或者甚至更好的建议是停止JSON.Net将字符串转换为日期?

0 个答案:

没有答案