想要找一种清洗 json 数据的工具

2024 年 12 月 30 日
 fusi

如题,有这样一个需求: 后端响应了一个数据,但是我只关心里面的某几个字段,这个很好实现,直接使用 jsonPath\jmesPath 即可 但是这些字段有的存在于子数据中,我又想要保留父子级关系的情况下获取部分字段,使用上面的工具就变得比较繁琐,例如:

{
  "a": 1,
  "b": 2,
  "children1": [
    {
      "a": 2,
      "b": 3,
      "d": 4,
      "children1": [
        {
          "b": 5,
          "e": 6
        }
      ]
    }
  ],
  "children2": [
    {
      "b": 5
    }
  ]
}

上面的数据中,我只想要 b 的值,同时我只关心 children1 的子集,而不关心其他的 b 值 我需要一个工具,能够标记哪些是目标数据,以及哪些是需要迭代的父数据,例如,我只在最外层的 d 中加一个标识符: "&b": 4 然后在 children1 中加一个标识符: "@children1":[...] 那么这个工具会自动采集最外层的 b 以及对应的 children1 中的 b ,就是说,会遍历整个数据,找到&标记的值,如果还有 @标记的值,则进去继续查找&标记的值,最后输出的格式如下:

{
  "b": 2,
  "children1": [
    {
      "b": 3,
      "children1": [
        {
          "b": 5,
        }
      ]
    }
  ]
}

当然也不是一定要标记,如果有 ui 页面能够点选那更是再好不过,只是一个举例 这是一个很小众的需求,但是我还是想要先问一下,万一有人以及做出来这个功能了呢?如果实在没有,再考虑自己写

2280 次点击
所在节点    问与答
7 条回复
dongsuo
2024 年 12 月 30 日
我发给 ChatGPT 之后它帮我写出来了……
虽然我没有验证它的代码,但是我觉得你可以试试,结果我就不贴在这了,以防违反社区规范
isSamle
2024 年 12 月 30 日
听着有点像 Xpath
kamilic
2024 年 12 月 30 日
可找 ai ,语义转换他最擅长了
zizon
2024 年 12 月 30 日
jsonpath 路径打平,正则匹配.
mumbler
2024 年 12 月 30 日
把你需求给 bolt.new 做一个 H5 工具,2 分钟就做好了,试试看吧
https://warm-rugelach-33b8eb.netlify.app/
Maboroshii
2024 年 12 月 30 日
先反序列化,再序列化
shakaraka
2024 年 12 月 30 日
序列化,反序列化,deepkit 即可

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1101201

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX