diff --git a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/ConvertToJsonCommand.cs b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/ConvertToJsonCommand.cs index 2de53f3beee..5d1cf23580b 100644 --- a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/ConvertToJsonCommand.cs +++ b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/WebCmdlet/ConvertToJsonCommand.cs @@ -98,10 +98,7 @@ protected override void BeginProcessing() /// protected override void ProcessRecord() { - if (InputObject != null) - { - _inputObjects.Add(InputObject); - } + _inputObjects.Add(InputObject); } /// diff --git a/test/powershell/Modules/Microsoft.PowerShell.Utility/ConvertFrom-Json.Tests.ps1 b/test/powershell/Modules/Microsoft.PowerShell.Utility/ConvertFrom-Json.Tests.ps1 index 8160864dd3c..f71ac4dcb94 100644 --- a/test/powershell/Modules/Microsoft.PowerShell.Utility/ConvertFrom-Json.Tests.ps1 +++ b/test/powershell/Modules/Microsoft.PowerShell.Utility/ConvertFrom-Json.Tests.ps1 @@ -106,6 +106,17 @@ Describe 'ConvertFrom-Json Unit Tests' -tags "CI" { { $nestedJson | ConvertFrom-Json -AsHashtable:$AsHashtable } | Should -Throw -ErrorId "System.ArgumentException,Microsoft.PowerShell.Commands.ConvertFromJsonCommand" } + + It 'Can convert null' { + 'null' | ConvertFrom-Json | Should -Be $null + $out = '[1, null, 2]' | ConvertFrom-Json + $out.Length | Should -Be 3 + + # can't compare directly to array as Pester doesn't handle the $null + $out[0] | Should -Be 1 + $out[1] | Should -Be $null + $out[2] | Should -Be 2 + } } Describe 'ConvertFrom-Json -Depth Tests' -tags "Feature" { diff --git a/test/powershell/Modules/Microsoft.PowerShell.Utility/ConvertTo-Json.Tests.ps1 b/test/powershell/Modules/Microsoft.PowerShell.Utility/ConvertTo-Json.Tests.ps1 index 54c92de8581..371aff5b9ce 100644 --- a/test/powershell/Modules/Microsoft.PowerShell.Utility/ConvertTo-Json.Tests.ps1 +++ b/test/powershell/Modules/Microsoft.PowerShell.Utility/ConvertTo-Json.Tests.ps1 @@ -62,4 +62,11 @@ Describe 'ConvertTo-Json' -tags "CI" { @{ 'abc' = "'def'" } | ConvertTo-Json @params | Should -BeExactly $expected } + + It "Should handle null" { + [pscustomobject] @{ prop=$null } | ConvertTo-Json -Compress | Should -BeExactly '{"prop":null}' + $null | ConvertTo-Json -Compress | Should -Be 'null' + ConvertTo-Json -Compress $null | Should -Be 'null' + 1, $null, 2 | ConvertTo-Json -Compress | Should -Be '[1,null,2]' + } }