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

PowerShell解析JSON文件提取domains节点下所有域名属性名的方法

PowerShell 提取JSON中domains节点所有域名的实现方案

你可以直接使用以下代码完成需求,兼容PowerShell 5.1及以上所有版本:

完整实现代码(从本地JSON文件读取)

# 替换为你的JSON文件实际路径
$jsonPath = "C:\你的文件路径\domains.json"
# 读取并解析JSON
$jsonObj = Get-Content -Path $jsonPath -Raw | ConvertFrom-Json
# 提取domains下所有属性名(域名)
$domainNames = $jsonObj.domains.PSObject.Properties.Name
# 输出顿号分隔的目标格式结果
$domainNames -join "、"

代码说明

  • Get-Content -Raw:将JSON文件内容作为完整字符串读取,避免逐行读取导致解析异常
  • ConvertFrom-Json:将JSON字符串转换为PowerShell可直接操作的自定义对象
  • PSObject.Properties.Name:直接提取指定对象下所有自定义属性的名称,也就是你需要的域名列表
  • -join "、":将域名数组按顿号拼接为你需要的字符串格式

直接运行验证(内置测试JSON)

如果需要快速测试效果,可以直接运行以下包含测试JSON的代码:

$testJson = @'
{
  "domains": {
    "1.com": {
      "data_path": "c:\\zzzzz\\Domains\\1.com"
    },
    "22.com": {
      "data_path": "c:\\zzzzz\\Domains\\22.com"
    },
    "333.com": {
      "data_path": "c:\\zzzzz\\Domains\\333.com"
    },
    "4444.com": {
      "data_path": "c:\\zzzzz\\Domains\\4444.com"
    }
  },
  "domain_aliases": {}
}
'@
$jsonObj = $testJson | ConvertFrom-Json
$jsonObj.domains.PSObject.Properties.Name -join "、"

运行后直接输出结果:1.com、22.com、333.com、4444.com

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:39:04