如题,有这样一个需求: 后端响应了一个数据,但是我只关心里面的某几个字段,这个很好实现,直接使用 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 3 天前
我发给 ChatGPT 之后它帮我写出来了……
虽然我没有验证它的代码,但是我觉得你可以试试,结果我就不贴在这了,以防违反社区规范 |
2
isSamle 3 天前
听着有点像 Xpath
|
3
kamilic 3 天前
可找 ai ,语义转换他最擅长了
|
4
zizon 3 天前
jsonpath 路径打平,正则匹配.
|
5
mumbler 3 天前 1
把你需求给 bolt.new 做一个 H5 工具,2 分钟就做好了,试试看吧
https://warm-rugelach-33b8eb.netlify.app/ |
6
Maboroshii 3 天前
先反序列化,再序列化
|
7
wunonglin 3 天前 via iPhone
序列化,反序列化,deepkit 即可
|