找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 36|回复: 4

请教一下脚本大佬,问了几个AI都没解决

[复制链接]

3

主题

11

回帖

43

积分

新手上路

积分
43
发表于 昨天 21:03 | 显示全部楼层 |阅读模式
[ol]
  • [
  •   {
  •     "fqn": "24ska01-sgp.ram-32g-noecc-2133.softraid-1x480ssd",
  •     "memory": "ram-32g-noecc-2133",
  •     "planCode": "24ska01-sgp",
  •     "server": "24ska01",
  •     "storage": "softraid-1x480ssd",
  •     "datacenters": [
  •       {
  •         "availability": "1H-high",
  •         "datacenter": "sgp"
  •       }
  •     ]
  •   },
  •   {
  •     "fqn": "24ska01-syd.ram-32g-noecc-2133.softraid-1x480ssd",
  •     "memory": "ram-32g-noecc-2133",
  •     "planCode": "24ska01-syd",
  •     "server": "24ska01",
  •     "storage": "softraid-1x480ssd",
  •     "datacenters": [
  •       {
  •         "availability": "1H-high",
  •         "datacenter": "syd"
  •       }
  •     ]
  •   },
  •   {
  •     "fqn": "24ska01.ram-64g-noecc-2133.softraid-1x480ssd",
  •     "memory": "ram-64g-noecc-2133",
  •     "planCode": "24ska01",
  •     "server": "24ska01",
  •     "storage": "softraid-1x480ssd",
  •     "datacenters": [
  •       {
  •         "availability": "unavailable",
  •         "datacenter": "bhs"
  •       },
  •       {
  •         "availability": "unavailable",
  •         "datacenter": "fra"
  •       },
  •       {
  •         "availability": "unavailable",
  •         "datacenter": "gra"
  •       },
  •       {
  •         "availability": "unavailable",
  •         "datacenter": "lon"
  •       },
  •       {
  •         "availability": "unavailable",
  •         "datacenter": "rbx"
  •       },
  •       {
  •         "availability": "unavailable",
  •         "datacenter": "sbg"
  •       },
  •       {
  •         "availability": "unavailable",
  •         "datacenter": "waw"
  •       }
  •     ]
  •   }
  • ][/ol]复制代码

    这是ks-a的api结果,现在想要用一段jsonata语句只查询"fqn": "24ska01.ram-64g-noecc-2133.softraid-1x480ssd"这个数组里的datacenter availability不等于unavailable的结果。问了几个AI,百度的,微软的,阿里的都没解决,最后还是来问问万能的mjj吧。
  • 回复

    使用道具 举报

    99

    主题

    553

    回帖

    2257

    积分

    金牌会员

    积分
    2257
    发表于 昨天 21:14 | 显示全部楼层
    js里面,用filter,把fqn是的拿出来24ska01.ram-64g-noecc-2133.softraid-1x480ssd,然后再用一下filter,过滤里面的datacenters数组

    回复

    使用道具 举报

    2

    主题

    143

    回帖

    466

    积分

    中级会员

    积分
    466
    发表于 昨天 21:21 | 显示全部楼层
    不教你 讓你搶不到

    回复

    使用道具 举报

    1

    主题

    1076

    回帖

    2619

    积分

    金牌会员

    积分
    2619
    发表于 昨天 21:27 | 显示全部楼层
    本帖最后由 我是老王 于 2024-11-17 21:51 编辑
    [ol]
  • 要使用 JSONata 语句从给定的 JSON 数据中查询 `fqn` 为 `24ska01.ram-64g-noecc-2133.softraid-1x480ssd` 且 `datacenter` 的 `availability` 不等于 `unavailable` 的结果,可以使用以下 JSONata 表达式:
  • ```jsonata
  • $.datacenters[availability != 'unavailable']^(fqn = "24ska01.ram-64g-noecc-2133.softraid-1x480ssd").datacenters[availability != 'unavailable']
  • ```
  • 这段 JSONata 表达式的工作原理如下:
  • 1. `$.datacenters[availability != 'unavailable']`:获取所有 `availability` 不等于 `unavailable` 的 `datacenters`。
  • 2. `^(fqn = "24ska01.ram-64g-noecc-2133.softraid-1x480ssd")`:过滤出 `fqn` 为 `"24ska01.ram-64g-noecc-2133.softraid-1x480ssd"` 的对象。
  • 3. `.datacenters[availability != 'unavailable']`:再次从该对象中选择 `availability` 不等于 `unavailable` 的 `datacenters`。
  • 这将返回你所请求的符合条件的 `datacenter` 列表。[/ol]复制代码
  • 回复

    使用道具 举报

    3

    主题

    11

    回帖

    43

    积分

    新手上路

    积分
    43
     楼主| 发表于 昨天 21:48 | 显示全部楼层
    上面的都用过了,返回的结果都不对。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-11-18 20:42 , Processed in 0.257945 second(s), 2 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表