表白网站怎样做有创意,棋牌软件开发的公司,门户网站推荐,自贡市城市建设投资开发集团有限公司网站在Web开发中#xff0c;Fiddler是我们常用的工具#xff0c;JSON是我们常用的数据格式。本文所要说的JsonViewer就是一款在Fiddler中查看JSON对象的小插件#xff08;当然它不仅仅是作为Fiddler的插件#xff0c;还有独立运行版和Visual Studio的插件#xff09;。关于它的…在Web开发中Fiddler是我们常用的工具JSON是我们常用的数据格式。本文所要说的JsonViewer就是一款在Fiddler中查看JSON对象的小插件当然它不仅仅是作为Fiddler的插件还有独立运行版和Visual Studio的插件。关于它的详细介绍和配置方法见园友景春雷的博客。 但是JsonViewer有一点让人很不爽的地方它在显示日期格式的时候非常不直观如下图所示 我们都知道括号里的整数表示从1970 年1 月1 日开始到Date 对象中的时间之间的毫秒数(负数表示1970 年以前的日期)但这是计算机想要知道的并不是我们想要知道的。幸好JsonViewer是一款开源的工具在CodePlex上我们可以下到它的源码下面就开始我们的改造之旅。 经过在源码中一翻寻觅我在JsonObjectTree类中发现下面一段代码看来只要在这个函数里作一个小小的修改就可以达到我们的目的啦。 private JsonObject CreateJsonObject(object jsonObject)
{JsonObject obj new JsonObject();if (jsonObject is JavaScriptArray)obj.JsonType JsonType.Array;else if (jsonObject is JavaScriptObject)obj.JsonType JsonType.Object;else{obj.JsonType JsonType.Value;obj.Value jsonObject;}return obj;
} DateTime序列化后的格式刚才我们都看见了例如/Date(1286183951984)/我们可以通过正则表达式去匹配它然后把它转成我们想要的格式代码如下。 obj.JsonType JsonType.Value;
obj.Value jsonObject;
//如果是时间格式
if (jsonObject is string Regex.IsMatch((string)jsonObject,^/Date\(-{0,1}\d{1,}\)/$, RegexOptions.IgnoreCase))
{DateTime utcDate new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);//从UTC时间1970年1月1日开始到DateTime对象中的时间之间的毫秒数string millisecondsFrom19700101 Regex.Replace((string)jsonObject,^(/Date\()|(\)/)$, , RegexOptions.IgnoreCase);long milliseconds;if (long.TryParse(millisecondsFrom19700101, out milliseconds)){//Tick单位为纳秒utcDate utcDate.AddTicks(milliseconds * 10000);obj.Value utcDate.ToLocalTime().ToString();}
} 现在让我们看一下效果怎么样是不是清楚了很多? 转载于:https://www.cnblogs.com/luxin/archive/2010/10/04/1842049.html