Реализация PowerShell 2.0 ConvertFrom-Json и ConvertTo-Json

Я хочу, чтобы monkeypatch среду PowerShell 2.0, где обновление до 3.0 в настоящее время невозможно.

Я ищу PowerShell 2.0 script командлет командлета ConvertFrom-Json и ConvertTo-Json, которые находятся в PowerShell 3.0.

Меня больше всего интересует ConvertFrom-Json, но ConvertTo-Json также будет приятным.

Ответ 1

function ConvertTo-Json20([object] $item){
    add-type -assembly system.web.extensions
    $ps_js=new-object system.web.script.serialization.javascriptSerializer
    return $ps_js.Serialize($item)
}

function ConvertFrom-Json20([object] $item){ 
    add-type -assembly system.web.extensions
    $ps_js=new-object system.web.script.serialization.javascriptSerializer

    #The comma operator is the array construction operator in PowerShell
    return ,$ps_js.DeserializeObject($item)
}

Ответ 2

Вы можете взглянуть на powershelljson.codeplex.com Никогда не пробовал.

Если это не сработает, вам, вероятно, придется написать его самостоятельно. Вы можете написать оболочку, которая использует Json.Net или Web.Extensions(образец), чтобы выполнить некоторую работу.

Ответ 3

Я не могу комментировать в настоящее время рейтинг выше, чем выше, однако вы можете запускать эти команды реестра (подробнее):

   reg add hklm\software\microsoft\.netframework /v OnlyUseLatestCLR /t REG_DWORD /d 1 /f
   reg add hklm\software\wow6432node\microsoft\.netframework /v OnlyUseLatestCLR /t REG_DWORD /d 1 /f

чтобы разрешить выполнение вышеперечисленных функций ConvertTo-Json20 и ConvertTo-Json20, если вы получаете ошибку:

Add-Type : Could not load file or assembly 'System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 or one of its dependencies. The system cannot find the file specified. "