Json 不要将任何重复值输出到csv文件

Json 不要将任何重复值输出到csv文件,json,powershell,csv,Json,Powershell,Csv,我正在将json文件转换为csv文件。我在csv文件中输出四列,但我不想输出任何重复的值 我将变量添加到数组中,并将其输出到csv文件中,如果“名称”列中存在任何重复值,则如果出现重复,则不要将其添加到输出中。我真的不知道该怎么做 ForEach ($fileEnvironment in $jsonVariables.ScopeValues.Environments) { #Create empty array $dataArray = @()

我正在将json文件转换为csv文件。我在csv文件中输出四列,但我不想输出任何重复的值

我将变量添加到数组中,并将其输出到csv文件中,如果“名称”列中存在任何重复值,则如果出现重复,则不要将其添加到输出中。我真的不知道该怎么做

 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