Json 不要将任何重复值输出到csv文件
我正在将json文件转换为csv文件。我在csv文件中输出四列,但我不想输出任何重复的值 我将变量添加到数组中,并将其输出到csv文件中,如果“名称”列中存在任何重复值,则如果出现重复,则不要将其添加到输出中。我真的不知道该怎么做Json 不要将任何重复值输出到csv文件,json,powershell,csv,Json,Powershell,Csv,我正在将json文件转换为csv文件。我在csv文件中输出四列,但我不想输出任何重复的值 我将变量添加到数组中,并将其输出到csv文件中,如果“名称”列中存在任何重复值,则如果出现重复,则不要将其添加到输出中。我真的不知道该怎么做 ForEach ($fileEnvironment in $jsonVariables.ScopeValues.Environments) { #Create empty array $dataArray = @()
ForEach ($fileEnvironment in $jsonVariables.ScopeValues.Environments) {
#Create empty array
$dataArray = @()
ForEach ($fileVariable in $jsonVariables.Variables) {
if($fileVariable.Description -eq $null) {
$fileVariable.Description = 'No Description'
}
if (!!$fileVariable.Scope) {
if (!!$fileVariable.Scope.Environment) {
if ($fileEnvironment.Id -eq $fileVariable.Scope.Environment[0]) {
#Add fileVariable to the array
$dataArray += $fileVariable
}
}
}
}
$filename="$($outputPath)\$($projectName)_$($fileEnvironment.Name).csv"
if ($dataArray.Count -ne 0) {
$dataArray | Select-Object -Property
Name,Type,Value,Description | Export-Csv -NoTypeInformation -Path
$fileName
}
我不希望名称列有重复的值,以便您可以看到apiconfig被重复,我只希望有一个apiconfig输出到csv。在csv文件中,输出如下所示:
名称类型值描述
apiConfig字符串。。。没有描述
apiconfig字符串。。。无说明您可以使用筛选工具筛选重复项
下面是一个控制台日志,说明了这个想法
$listWithDuplicates=@([PSCustomObject]{Name=“A”;Desc=“1”},[PSCustomObject]{Name=“A”;Desc=“2”},[PSCustomObject]@{Name=“B”;Desc=“3”})
▷ $重复列表
名称描述
---- ----
A 1
A 2
B 3
▷ $set=newobject“System.Collections.Generic.HashSet[string]”
▷ $listWithDuplicates=$listWithDuplicates |?{$set.Add($\.Name)}
▷ $没有重复项的列表
名称描述
---- ----
A 1
B 3