如何使用PowerShell将指定JSON标签数组转为逗号分隔字符串
实现方法
嘿,这事儿在PowerShell里有好几种简单的实现方式,我给你拆解一下:
情况1:已经有现成的对象数组
如果你的tags已经是PowerShell里的对象数组(比如哈希表数组或者自定义对象数组),直接提取属性再拼接就行:
方法一:用Select-Object展开属性并拼接
# 先模拟你的tags数组 $tags = @( @{ tagName = "O365" }, @{ tagName = "Skype for Business" } ) # 提取所有tagName值,用逗号拼接成字符串 $outputString = $tags | Select-Object -ExpandProperty tagName -Join "," # 输出结果 Write-Output $outputString
方法二:用遍历+拼接
这种方式更直观,适合刚接触PowerShell的朋友:
$outputString = ($tags | ForEach-Object { $_.tagName }) -Join "," Write-Output $outputString
情况2:你的tags是JSON格式的字符串
如果原始内容是类似tags: [ { tagName : "O365" }, { tagName : "Skype for Business" } ]这样的非标准JSON(注意标准JSON的键名需要双引号),得先转换成PowerShell对象再处理:
# 原始的非标准JSON字符串 $rawTagsString = 'tags: [ { tagName : "O365" }, { tagName : "Skype for Business" } ]' # 修正为标准JSON格式 $standardJson = $rawTagsString -replace 'tagName :', '"tagName":' -replace 'tags: ', '' # 转换成PowerShell对象 $tags = ConvertFrom-Json $standardJson # 拼接成目标字符串 $outputString = $tags.tagName -Join "," Write-Output $outputString
不管哪种情况,最终都能得到你想要的"O365,Skype for Business"字符串~
内容的提问来源于stack exchange,提问作者lbeaudoin
相关产品推荐
相关产品推荐

