V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
faketemp
V2EX  ›  问与答

json 离线 可视化 数据提取工具推荐?

  •  
  •   faketemp · 68 天前 · 1860 次点击
    这是一个创建于 68 天前的主题,其中的信息可能已经有所发展或是发生改变。

    经常需要分析一些 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 条附言  ·  60 天前
    找到了 windows 仿 Devutils 完美解决 谢谢大家
    ![使用演示]( https://github.com/playGitboy/JsonPath-Tool/blob/main/img/演示.gif)
    29 条回复    2022-10-07 09:54:17 +08:00
    ddonano
        1
    ddonano  
       68 天前   ❤️ 1
    nodepad++ jsonViewer 插件
    bootvue
        2
    bootvue  
       68 天前   ❤️ 1
    Anybfans
        3
    Anybfans  
       68 天前
    @bootvue #2 +1 jq 还是蛮好用的
    faketemp
        4
    faketemp  
    OP
       68 天前
    @ddonano 这个只能实现 json 格式化和层级浏览,并不满足数据批量提取的核心需求
    faketemp
        5
    faketemp  
    OP
       68 天前
    @bootvue 这个怎么有点像 jquery 的意思 O(∩_∩)O~
    去学一下命令参数试试,另外请问下有没带界面的类似工具推荐?
    Mithril
        6
    Mithril  
       68 天前   ❤️ 1
    有很多类似的
    https://github.com/multiprocessio/dsq
    UI Demo: https://app.datastation.multiprocess.io/
    https://www.visidata.org/
    等等
    其实能直接跑 SQL 就足够了。。。
    maichael
        7
    maichael  
       68 天前   ❤️ 1
    ZZZZone
        8
    ZZZZone  
       68 天前   ❤️ 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. 语法的过滤逻辑。
    cssk
        9
    cssk  
       68 天前 via iPhone
    json crack
    xiao109
        10
    xiao109  
       68 天前
    jsoneditoronline 格式化、批量提取、过滤 都支持,不过好像不能离线。
    Puteulanus
        11
    Puteulanus  
       68 天前
    https://devutils.com
    好用是真的好用,进入工具的那一刻会判断你剪贴板的内容类型,比如是 JSON 可能打开直接就已经在格式化页面而且已经格式化好了,是时间戳就在时间戳转换的页面

    但是价格感觉还是偏贵,最好是有 setapp 订阅
    Mystery0
        12
    Mystery0  
       68 天前 via Android
    @xiao109 好像可以安装成应用,具体能不能离线使用没有试过。最终方案:扒源码成 html 文件
    faketemp
        13
    faketemp  
    OP
       68 天前
    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 实测没问题,当是我的问题),准备先到处去搜一搜详细的使用手册或例子
    lstz
        14
    lstz  
       68 天前
    您可以试试我们的 [JSON 路径选取器] 与 [JSON 探测器]

    这个路径选取还是挺方便的,而且支持纯离线部署+Docker 版本,更多可以看我们官网

    在线工具
    https://cloud.codegen.cc/exts/JSONXPath

    https://cloud.codegen.cc/exts/JSONProbe
    lstz
        15
    lstz  
       68 天前
    除了这两个功能,工具箱也有挺多 JSON/XML 转换的工具,对 JSON 兼容性也经过测试,目前应该算是稳定的。

    https://codegen.cc
    faketemp
        16
    faketemp  
    OP
       68 天前
    @lstz 在 JSONProbe 测试上传了一个 250k 左右的 json ,提示上传成功后又弹出一个进度条,等了十几分钟了进度条仍一动不动,不知是不是公共网络的问题
    faketemp
        17
    faketemp  
    OP
       68 天前
    @maichael fx 好不容易学习了基本用法,却发现 Windows7 下运行报错; windows11 下可以使用,但交互模式下发现两个 BUG:输入"/"只能搜索英文,尝试搜索中文则 fx 自动退出;输入"."没反应

    太艰难了,还是先用 python 凑合吧
    lstz
        18
    lstz  
       68 天前
    @faketemp 抱歉哈,可能在线版本服务器配置还待优化,可以试试我们离线部署
    lstz
        19
    lstz  
       68 天前
    针对您的需求,JSON 路径选取器,应该也可以试试
    jones2000
        20
    jones2000  
       68 天前
    直接要 json 的数据结构文档不就可以了。 还自己一个一个看,一个一个猜呀, 太影响效率了。
    RoshanWu
        21
    RoshanWu  
       68 天前   ❤️ 1
    DevUtils
    TabGre
        22
    TabGre  
       68 天前
    @RoshanWu 这个看起来确实好用,是通过 setapp 还是?
    dioxide
        23
    dioxide  
       68 天前
    @RoshanWu 有个平替开源免费版: DevToys
    faketemp
        24
    faketemp  
    OP
       68 天前
    @RoshanWu windows 平台比较尴尬,还没找到类似程序
    faketemp
        25
    faketemp  
    OP
       68 天前
    @ZZZZone utools 中的 json 编辑器不错也支持 js 过滤,但没找到支持的语法文档 /手册参考在哪里?想系统学习一下,请问哪里可以看到使用帮助?
    kkeep
        26
    kkeep  
       68 天前 via Android
    有意思,我觉得 windows 用户需要有一个机会
    LxExExl
        27
    LxExExl  
       67 天前
    @RoshanWu
    @Puteulanus

    我看了下这个作者,已经辞职,自由了。真没想到 2202 年了,个人做单机软件还是能这么赚钱啊。
    ZZZZone
        28
    ZZZZone  
       67 天前
    @faketemp 按照官方的说法就是使用 Javascript 语法。 我没没有系统学习过 Javascript ,都是自己摸索出一些简单的用法, 如 `.foo.map(foo=>foo.id) ` 这样取出 foo 结构中的 id 。 `foo.length` 查看长度。
    faketemp
        29
    faketemp  
    OP
       60 天前 via iPhone
    找到了 windows 仿 Devutils 完美解决
    ![使用演示]( https://github.com/playGitboy/JsonPath-Tool/blob/main/img/演示.gif)
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1255 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 20:21 · PVG 04:21 · LAX 12:21 · JFK 15:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.