我正在编写一个应解析任何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将字符串转换为日期?