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

1次阅读
没有评论

一、背景
看到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对应值

正文完
 0
116博客
版权声明:本篇文章由 116博客 于2024-11-28发表,共计900字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码