You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell查找JSON中指定值的索引

PowerShell中查找JSON数组指定值的索引方法

目标JSON数据

需要处理的JSON结构如下:

{
  "backendAddresses": [
    {
      "ipAddress": "1.2.1.10"
    },
    {
      "ipAddress": "1.2.1.9"
    }
  ]
}

Bash + jq 的实现方式

在Bash环境中,借助jq可轻松实现查找指定IP在数组中的索引。假设JSON数据存储在变量$ip中:

echo $ip | jq '[.backendAddresses[].ipAddress] |index ("1.2.1.10")'
# 输出:0
echo $ip | jq '[.backendAddresses[].ipAddress] |index ("1.2.1.9")'
# 输出:1

PowerShell中的实现需求

请问在Windows系统的PowerShell中,实现相同功能的最简方法是什么?

尝试过的无效代码

我曾尝试以下代码,但未得到预期结果:

echo ($ip.backendAddresses |? {$_.ipAddress -eq "1.2.1.10"}).id

可行的PowerShell代码

经过尝试,以下代码可正常运行,返回目标IP对应的数组索引:

$obj = $ip | ConvertFrom-Json

0..($obj.backendAddresses.ipAddress.Count-1) | Where-Object {$obj.backendAddresses.ipAddress[$_] -eq '1.2.1.9'}

内容的提问来源于stack exchange,提问作者Oleg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 07:18:17