经常需要分析一些 json 文件(格式多种多样) ,已知的大部分都是在线工具,如专业分析 https://jsonhero.io ,功能专一 https://data.page/json/csv 等等,想寻找一款 json 工具能满足最低需求:便携离线可用、格式化 json 、能批量提取指定"层级"的字段值。不知大家有没有什么推荐?收费免费开源都不限……
虽然分析一个 json 用 python 也没几行代码,但 json 一多起来格式还不统一的情况下人就懒了,想找找有没有什么软件,打开 json 点点鼠标就可以批量提取出要的数据,有些抽象举个例子:
{ "status":"ok",
"message":"success",
"code":200,
"data":{
"list":[
{
"title":"好玩",
"uri":"test/1.pdf"
},
{
"title":"问答",
"uri":"qa/11.doc"
}]
}}
比如想从上面的 json 提取"title"和"uri"两个字段所有的值,有没有什么软件可以打开 json 展开 data/list 节点,点选任意"title"后批量提取出同层级节点所有的"title"值??(比如上例中"好玩"和"问答"就是所谓"同层级")
或者也可以不论层级,点选任意"title"后批量提取出整个 json 文件所有"title"字段值?
1
ddonano 2022-09-29 11:30:58 +08:00 1
nodepad++ jsonViewer 插件
|
2
bootvue 2022-09-29 11:31:36 +08:00 1
you need jq https://github.com/stedolan/jq
|
5
faketemp OP @bootvue 这个怎么有点像 jquery 的意思 O(∩_∩)O~
去学一下命令参数试试,另外请问下有没带界面的类似工具推荐? |
6
Mithril 2022-09-29 12:05:06 +08:00 1
有很多类似的
https://github.com/multiprocessio/dsq UI Demo: https://app.datastation.multiprocess.io/ https://www.visidata.org/ 等等 其实能直接跑 SQL 就足够了。。。 |
7
maichael 2022-09-29 12:05:19 +08:00 1
|
8
ZZZZone 2022-09-29 13:18:24 +08:00 1
我来说几个:
我常用的: 1. utools 中的 JSON 编辑器: 通过 utools 快捷启动, 可以使用 js 语法进行一些过滤功能。 优点是启动快,日常用来完成一些轻量的 json 处理工作。 2. jq , 命令行工具。 我的日常工作中稍微复杂一点的过滤, 转换,提取工作都是用 jq 完成, 可以编码成 work flow 批量处理同类型工作。 了解到的: 1. [JSON Crack]( https://github.com/AykutSarac/jsoncrack.com) 数据可视化 ![]( https://jsoncrack.com/assets/jsoncrack-screenshot.webp) 2. fx https://github.com/antonmedv/fx 命令行工具, 支持 JavaScript (default), Python, or Ruby. 语法的过滤逻辑。 |
9
cssk 2022-09-29 13:22:13 +08:00 via iPhone
json crack
|
10
xiao109 2022-09-29 13:23:43 +08:00
jsoneditoronline 格式化、批量提取、过滤 都支持,不过好像不能离线。
|
11
Puteulanus 2022-09-29 13:30:16 +08:00
https://devutils.com
好用是真的好用,进入工具的那一刻会判断你剪贴板的内容类型,比如是 JSON 可能打开直接就已经在格式化页面而且已经格式化好了,是时间戳就在时间戳转换的页面 但是价格感觉还是偏贵,最好是有 setapp 订阅 |
12
Mystery0 2022-09-29 13:54:10 +08:00 via Android
@xiao109 好像可以安装成应用,具体能不能离线使用没有试过。最终方案:扒源码成 html 文件
|
13
faketemp OP Win11 上简单试用一下:
1. jq 描述功能强大,但不知为何随便找个 json 在 CMD/Powershell 下加载都提示以下错误——stackoverflow 搜半天有说 jq 不支持 UTF8 要转成 ASCII 等等,都尝试了但问题依旧,跑不起来未知是哪里姿势不对…… ``` jq: error: syntax error, unexpected INVALID_CHARACTER, expecting $end (Windows cmd shell quoting issues?) at <top-level>, line 1 ``` 2. json crack 和 jsoneditoronline 等都是在线网站,简单试了下没找到如何批量提取指定字段数据,待进一步摸索 3. dsq 换了几个 json 文件都提示错误```Input is not an array of objects:```无法加载未得要领 4. devutils 养眼但只提供 MAC 版本,暂时未测试 5. fx 好像也不错,但是使用帮助只有几句语焉不详,搜索引擎找半天目前还在努力摸索用法 目前试用本地软件只有 fx 成功加载了 json ,其他软件都各种报错和兼容性问题竟然没跑起来(json 实测没问题,当是我的问题),准备先到处去搜一搜详细的使用手册或例子 |
14
lstz 2022-09-29 15:26:25 +08:00
您可以试试我们的 [JSON 路径选取器] 与 [JSON 探测器]
这个路径选取还是挺方便的,而且支持纯离线部署+Docker 版本,更多可以看我们官网 在线工具 https://cloud.codegen.cc/exts/JSONXPath https://cloud.codegen.cc/exts/JSONProbe |
15
lstz 2022-09-29 15:27:26 +08:00
|
16
faketemp OP @lstz 在 JSONProbe 测试上传了一个 250k 左右的 json ,提示上传成功后又弹出一个进度条,等了十几分钟了进度条仍一动不动,不知是不是公共网络的问题
|
17
faketemp OP @maichael fx 好不容易学习了基本用法,却发现 Windows7 下运行报错; windows11 下可以使用,但交互模式下发现两个 BUG:输入"/"只能搜索英文,尝试搜索中文则 fx 自动退出;输入"."没反应
太艰难了,还是先用 python 凑合吧 |
19
lstz 2022-09-29 16:57:46 +08:00
针对您的需求,JSON 路径选取器,应该也可以试试
|
20
jones2000 2022-09-29 20:41:48 +08:00
直接要 json 的数据结构文档不就可以了。 还自己一个一个看,一个一个猜呀, 太影响效率了。
|
21
RoshanWu 2022-09-29 22:20:14 +08:00 1
|
25
faketemp OP @ZZZZone utools 中的 json 编辑器不错也支持 js 过滤,但没找到支持的语法文档 /手册参考在哪里?想系统学习一下,请问哪里可以看到使用帮助?
|
26
kkeep 2022-09-30 01:51:08 +08:00 via Android
有意思,我觉得 windows 用户需要有一个机会
|
27
LxExExl 2022-09-30 08:08:13 +08:00
|
28
ZZZZone 2022-09-30 13:16:14 +08:00
|
29
faketemp OP 找到了 windows 仿 Devutils 完美解决
![使用演示]( https://github.com/playGitboy/JsonPath-Tool/blob/main/img/演示.gif) |