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

有没有 读取 json 文件根据 js 表达式 显示结果的工具

  •  1
     
  •   975779964 · 2022-07-23 12:15:10 +08:00 · 1084 次点击
    这是一个创建于 879 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求

    比如我 有一个 test.json 文件 ,

    {
      "code":200,
      "data":[
        {      "name":"name1",      "age":"1"    },
        {      "name":"name2",      "age":"2"    },
        {      "name":"name3",      "age":"3"    }
      ]
    }
    
    

    操作 1 cat test.json | tools .data.map(x=>x.name)

    读到的结果就是

    [
      "name1",
      "name2",
      "name3",
      "name4"
    ]
    
    

    操作 2 cat test.json | tools .data.filter(x=>x.age>1)[0]

    读到的结果就是

    {
      "name": "name2",
      "age": "2"
    }
    
    

    并且在 操作的工程中 点 data, 点 filter ,点 x.age 这些字段 会根据 json 文件 自动补全出来

    我已知的工具

    可以用 js 的语法, 已经和我要的很像了 ,但是 他的 js 的关键字还有 json 的 field 不能补全

    而且 最新版本是拿 golang 重写了 ,竟然把这个 交互模式 的特性去掉了……


    所以想问有没有 满足我这个需求的工具呢?

    5 条回复    2022-10-14 08:58:04 +08:00
    christin
        1
    christin  
       2022-07-23 21:51:35 +08:00 via iPhone
    自己用 js 写一个?
    wxf666
        2
    wxf666  
       2022-07-24 02:59:14 +08:00
    用过 jq ,语法是有点绕,功能还算凑合。好像是没有交互,自然也没有补全


    $ jq '.data[].name' test.json

    "name1"
    "name2"
    "name3"


    $ jq -r '[.data[].name]' test.json

    [
     "name1",
     "name2",
     "name3"
    ]
    wxf666
        3
    wxf666  
       2022-07-24 03:03:40 +08:00   ❤️ 1
    噢,还有个操作二

    $ jq '[.data[] | select(.age | tonumber > 1)][0]' test.json

    {
     "name": "name2",
     "age": "2"
    }
    975779964
        4
    975779964  
    OP
       2022-07-25 07:38:33 +08:00
    @wxf666 啊, 这个看着就头疼 ,还得学习 jq 的语法 ,那应该是 没有 这样的工具了 ,我还是先用 fx 吧
    faketemp
        5
    faketemp  
       2022-10-14 08:58:04 +08:00
    @975779964 utools 的官方 json 编辑器插件就是用 js 过滤数据的
    只是没有你说的"自动补全"
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3565 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:25 · PVG 12:25 · LAX 20:25 · JFK 23:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.