吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6213|回复: 61
收起左侧

[原创工具] JsonPath Plus Extractor[JsonPath表达式 数据提取效率工具]

  [复制链接]
playboysen 发表于 2022-10-5 09:21
本帖最后由 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

免费评分

参与人数 17吾爱币 +20 热心值 +17 收起 理由
sk8820 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
winterchen + 1 + 1 谢谢@Thanks!
wxk0248 + 1 + 1 谢谢@Thanks!
bubbles11 + 1 我很赞同!
追忆孤单 + 1 + 1 谢谢@Thanks!
hug_wh + 1 + 1 谢谢@Thanks!
xwei9277 + 1 + 1 谢谢@Thanks!
cxqdly + 2 + 1 谢谢@Thanks!
llq@xsh + 1 + 1 谢谢@Thanks!
gaoxiaoao + 1 + 1 谢谢@Thanks!
myweb1996 + 3 + 1 我很赞同!
liqualife001 + 1 + 1 谢谢@Thanks!
nnzhs + 1 + 1 我很赞同!
henrylong1989 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ytw6176 + 1 + 1 谢谢@Thanks!
d8349565 + 2 + 1 我很赞同!
YuanFang0w0 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

  • · 好帖|主题: 549, 订阅: 87

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zhbing 发表于 2022-11-9 14:09
我平时用jsonview,但没有jsonpath,楼主这个很赞
Kristine_He 发表于 2022-10-5 17:25
楼主的创造的工具非常好用,并且非常实用,一直缺一个好用的提取工具,格式化的倒是挺多.
 楼主| playboysen 发表于 2023-4-9 16:31
@wxk0248  按大家反馈更新了,增加换行/回车等转义解析

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
wxk0248 + 1 + 1 谢谢@Thanks!

查看全部评分

eonion 发表于 2022-10-5 09:26
沙发,支持一下
gaoxiaoao 发表于 2022-10-5 09:29
网址打不开啊,楼主,打开也找不到工具包

点评

网址没问题 如果你那里Github网站打不开 这个...呃 不能多说...  详情 回复 发表于 2022-10-5 09:37
孤狼微博 发表于 2022-10-5 09:30
谢谢分享
 楼主| playboysen 发表于 2022-10-5 09:37
本帖最后由 playboysen 于 2022-10-5 09:59 编辑
gaoxiaoao 发表于 2022-10-5 09:29
网址打不开啊,楼主,打开也找不到工具包

网址没问题 如果你那里Github网站打不开 这个...呃 不便多说...
补个奶牛快传的下载链接
nanscript 发表于 2022-10-5 10:05
好东西  点赞点赞 提取果然分分钟
youcome 发表于 2022-10-5 10:22
感谢大佬分享这么好的软件
d8349565 发表于 2022-10-5 10:29
是用了jsonpath库么?感觉代码很像。

点评

plus 兼容jsonpath,但增加操作符功能更完善 比如"~"符号过滤对应层级key名称、"^"过滤父层级、正则表达式等等,具体可查看帮助  详情 回复 发表于 2022-10-5 17:18
Rx0 发表于 2022-10-5 10:42
谢谢分享。将JSON文件拖人输入区,点格式化既可。还是很方便的。

点评

右下角输入框不输入内容直接回车 也会快捷触发格式化  详情 回复 发表于 2022-10-5 10:47
taoge888 发表于 2022-10-5 10:43
期待大佬开源 学习一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-23 15:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表