【发布时间】:2020-02-20 04:19:51
【问题描述】:
我想将 JSON 响应转换为等效的 XML 文档,但这样做时,我还想保留当前日期和时间格式以及偏移量,例如,JSON 中的 DateTime 为“2019-10-25T07:00:00 -05:00" 并且在转换后我希望它保持不变。但是转换成XML之后,DateTime的值变成了“2019-10-25T08:00:00-04:00”
我尝试在 Microsoft 文档中搜索它,但没有找到以下问题的答案:
- 如何确定给定日期时间字符串(例如“2019-10-25T07:00:00-05:00”)的时区?
- 如何将日期时间字符串(例如,“2019-10-25T08:00:00-04:00”)转换为所需时区的日期时间(例如,转换为“2019 时区” -10-25T07:00:00-05:00")
// C# Code Snippet
// Step 1: Reading JsonResponse from a file
string jsonString = System.IO.File.ReadAllText(@"C:\TestDateTimeConvertJSONResponse.txt");
// Step 2: Converting jsonString to XMLDoc
System.Xml.XmlDocument xmlDoc = Newtonsoft.Json.JsonConvert.DeserializeXmlNode(jsonString);
Console.WriteLine();
Console.WriteLine("EQUIVALENT XML RESPONSE");
Console.WriteLine(xmlDoc.InnerXml);
输入 JSON 字符串:
{
"Flight": {
"FlightNumber": "747",
"Source": "JFK",
"Destination": "LAS",
"Status": "ON TIME",
"DepDateTime": "2019-10-25T07:00:00-05:00",
"Terminal": "2"
}
}
预期:
<Flight>
<FlightNumber>747</FlightNumber>
<Source>JFK</Source>
<Destination>LAS</Destination>
<Status>ON TIME</Status>
<DepDateTime>2019-10-25T07:00:00-05:00</DepDateTime>
<Terminal>2</Terminal>
</Flight>
实际:
<Flight>
<FlightNumber>747</FlightNumber>
<Source>JFK</Source>
<Destination>LAS</Destination>
<Status>ON TIME</Status>
<DepDateTime>2019-10-25T08:00:00-04:00</DepDateTime>
<Terminal>2</Terminal>
</Flight>
【问题讨论】:
标签: c# json xml json.net jsonconvert