修改Fiddler实用插件JsonViewer
在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
修改Fiddler实用插件JsonViewer相关推荐
- 【巨人的肩膀上制造世界】——5——Unity3D实用插件之Mouse Interaction-Object Highlight,快速构建模型的悬浮高亮!悬浮提示!悬浮动画!
[巨人的肩膀上制造世界]--5--Unity3D实用插件之Mouse Interaction-Object Highlight,快速构建模型的悬浮高亮!悬浮提示!悬浮动画! 目录 1.博客介绍 2.内 ...
- chrome五十大实用插件集合!
来源:http://blog.csdn.net/dadoneo/article/details/6296358 时下很多人都用上了Google Chrome浏览器,这款目前世界上最快的浏览器既简洁又高 ...
- chrome五十大实用插件集合
2019独角兽企业重金招聘Python工程师标准>>> 时下很多人都用上了Google Chrome浏览器,这款目前世界上最快的浏览器既简洁又高效,用来上网冲浪还真是不错.不过好马也 ...
- 【巨人的肩膀上制造世界】——10——Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能
[巨人的肩膀上制造世界]--10--Unity3D实用插件之Vectrosity,轻松便捷的实现2D/3D画线功能 目录 1.博客介绍 2.内容 (1)编辑器预制线条 (2)编辑器修改线条 (3)线条 ...
- 【教程转载】 火狐浏览器 实用插件一览(附插件下载地址)
[教程转载] 火狐浏览器 实用插件一览(附插件下载地址)简单介绍一下: 火狐浏览器(firefox)最大的优点就是安全.快速.稳定. 有些人抱怨火狐的功能太少,有些网页不能正常浏览. 没关系,这些都不 ...
- Maya的一些实用插件——记录分享篇
Maya的一些实用插件分享篇 前言 一.MayaToRizomUV(展uv) 二.Bonus Tools 1.介绍 2.下载安装 3.使用 三.Quad Remesher(模型一键拓扑) 1.介绍 2 ...
- idea引用eclipse快捷键和一些实用插件
idea引用eclipse快捷键 Ctrl+1快速修复(最经典的快捷键,就不用多说了) Ctrl+D:删除当前行 Ctrl+Alt+↓复制当前行到下一行(复制增加) Ctrl+Alt+↑复制当前行到上 ...
- phpstom 驼峰插件_推荐四个phpstorm酷炫实用插件 让你写代码的时候不在孤单!
PHP PHP开发 PHP语言 推荐四个phpstorm酷炫实用插件 让你写代码的时候不在孤单! 程序员写代码很孤独,每天只能和电脑屏幕交流,想要一个程序员鼓励师妹子,老板又不给配,如何让自己写代码的 ...
- 【开发工具】盘点IDEA那些超级实用插件
今天给大家分享IDEA那些超级实用插件,欢迎收藏! 1.日晒主题 Solarized Themes 推荐指数:☆☆☆☆☆ 推荐理由:日晒主题本身是为vim定制的.后来移植到ide 非常酷!配色非常耐看 ...
最新文章
- L1,L2正则化分析
- [云炬创业基础笔记]第五章创业机会评估测试3
- android6.0源码分析之Camera API2.0下的Preview(预览)流程分析
- 【NLP】业界总结 | BERT的花式玩法
- illustrator下载_Illustrator笔工具练习
- dex工具与transform_Android Studio打包程序时出现transformClassesWithDexForRelease错误
- soapui 证书_SoapUI入门之附件上传和配置Https请求
- 《Elasticsearch 源码解析与优化实战》样章-第 6 章 数据模型
- Python的Base64编码图片(转载)
- win10系统下载 Ghost Win10 RS1 1607 32位纯净3月版
- Veeam 安装部署 - 部署 Veeam Backup Replication
- Cobalt Strike 的 Beacon 使用介绍以及 Profile 文件修改Beacon内存教程
- 天创速盈带你了解拼多多新店运营技巧
- 【实战项目惜时App需求分析说明书】Vue-cli3+Vant UI+Vue-element-admin+Egg.js+Mysql
- MySql的详细安装与配置步骤
- 替换=(等于号)正则表达式
- 【密码学】古代、古典密码
- fastdfs和其他文件系统区别
- 天府一品 茶叶商城平台 uni app 开发总结 H5商城
- js实现网页的过滤打印(去掉你不想出现的内容)