如题,有这样一个需求: 后端响应了一个数据,但是我只关心里面的某几个字段,这个很好实现,直接使用 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 页面能够点选那更是再好不过,只是一个举例 这是一个很小众的需求,但是我还是想要先问一下,万一有人以及做出来这个功能了呢?如果实在没有,再考虑自己写
![]() | 1 dongsuo 284 天前 我发给 ChatGPT 之后它帮我写出来了…… 虽然我没有验证它的代码,但是我觉得你可以试试,结果我就不贴在这了,以防违反社区规范 |
![]() | 2 isSamle 284 天前 听着有点像 Xpath |
3 kamilic 284 天前 可找 ai ,语义转换他最擅长了 |
![]() | 4 zizon 284 天前 jsonpath 路径打平,正则匹配. |
5 mumbler 284 天前 ![]() 把你需求给 bolt.new 做一个 H5 工具,2 分钟就做好了,试试看吧 https://warm-rugelach-33b8eb.netlify.app/ |
![]() | 6 Maboroshii 284 天前 先反序列化,再序列化 |
![]() | 7 shakaraka PRO 序列化,反序列化,deepkit 即可 |