好友
阅读权限40
听众
最后登录1970-1-1
|
本帖最后由 playboysen 于 2023-4-9 16:29 编辑
一、背景
看到v2ex一篇关于json数据提取工具的讨论贴,是关于经常查看不同格式JSON数据的需求,推荐Win平台“系统兼容性佳、便携离线、支持格式化及数据提取”的JSON工具
大家推荐主要分两大类:离线工具如jq、fx、dsq等功能强大,缺点是命令行、兼容性欠佳(不同系统或JSON格式各种花式报错)、学习曲线较高;在线如JsonCrack/jsonhero等不满足需求,内网环境无法使用。
离线的界面化工具能用的非常少,公推DevUtils点赞最高但仅支持MAC,虽有DevToys之类开源仿照但经测仅支持JSON格式化并不具备核心的“数据提取/过滤”功能;utools的JSON编辑器插件还不错格式化/过滤等均支持,但其不支持通用的JSONPath表达式而要用JS命令提取数据,关键是未提供针对性的示例文档/手册参考,对大部分不熟悉JS的用户不太友好;而且utools插件环境和数据仍不支持一键离线部署/迁移,内网环境使用不方便、不便携。
二、成果
仿DevUtils写了个"UI界面操作/系统兼容性佳/便携离线/支持格式化、自动纠错、数据过滤提取"的JSON数据提取工具
基于JSONPath Plus表达式,语句测试如下(详情查看帮助):
JSONPath | 备注 | $..* | 提取所有值 | $..type | 提取全部type字段值 | $.uuids..type | 提取uuids节点下面全部type字段值 | $.uuids.*~ | 提取uuids节点下面所有key名称 | $..*[?(@.str)][id,str] | 提取包含str字段的全部节点id和str字段值 | $..*@number() | 提取全部数字值 | $..*@string() | 提取全部文本值 | $..*[?(@.id>5005)].type | 提取id大于5005的全部type字段值 | $..toppings[1:3] | 提取toppings下面第2、3个节点 | $..toppings[1:9:2] | 从toppings下面第2节点开始在范围内每隔2个提取 | $.toppings.*[?(@property.match(/^str/i))] | 提取toppings节点下面所有以"str"开头(正则)的key对应值 |
说明:
1. 功能增强:支持JSONPath Plus表达式(兼容JSONPath),功能更强、例见上表;
富文本框支持JSON文件拖放打开(兼容常见文本格式)、按住Ctrl+滚轮无极缩放字体大小
2. 便利性增强:增加常用格式化、排序、缩进等功能;输入JSONPath时"$"字符可省略;
右下角编辑框不输入内容直接回车,可快捷触发格式化功能
3. 容错增强:修复JSON格式常见错误(如"样例"JSON格式有误,纠错后可正确解析)
4. 兼容到Win7甚至XP,但也由于要考虑兼容性打包依赖较多生成文件略大。
更新发布v1.3版:
1. 修改缩进响应逻辑,缩进刷新更流畅自然;
2. 拖放文件或浏览样例自动格式化;
3. 添加页面缩放、高亮功能;
4. 大幅缩减程序体积。
更新发布v1.4版
主界面:
主界面
使用演示:
使用演示
下载地址:
https://github.com/playGitboy/JsonPath-Tool/releases
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|